summaryrefslogtreecommitdiffstats
path: root/sys/kern/syscalls.c
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2006-02-03 11:38:19 +0000
committerglebius <glebius@FreeBSD.org>2006-02-03 11:38:19 +0000
commit2a85d3311b5014d33797a9a28ce83e86b2af9894 (patch)
tree5ff70db2bc32670f35145740b2fce78fe31ee579 /sys/kern/syscalls.c
parentcec618bfac1f6bbd9952dca06ce0cd2e42f7d608 (diff)
downloadFreeBSD-src-2a85d3311b5014d33797a9a28ce83e86b2af9894.zip
FreeBSD-src-2a85d3311b5014d33797a9a28ce83e86b2af9894.tar.gz
Dropping the lock in the transmit_event() is not safe, because we
store some pipe pointers on stack. If user reconfigures dummynet in the interlock gap, we can work with freed pipes after relock. To fix this, we decided not to send packets in transmit_event(), but fill a queue. At the end of dummynet() and dummynet_io(), after the lock is dropped, if there is something in the queue we run dummynet_send() to process the queue. In collaboration with: ru
Diffstat (limited to 'sys/kern/syscalls.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud