diff options
author | rwatson <rwatson@FreeBSD.org> | 2004-09-09 04:11:12 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2004-09-09 04:11:12 +0000 |
commit | e87cb480202833ffa302728043ba6ff4ee0fc049 (patch) | |
tree | bf1639e5d58833d329b96282b40988eb95568cb7 /usr.sbin/usbdevs | |
parent | a581fa78d90bf52f6dfb7f384a9c15548387e170 (diff) | |
download | FreeBSD-src-e87cb480202833ffa302728043ba6ff4ee0fc049.zip FreeBSD-src-e87cb480202833ffa302728043ba6ff4ee0fc049.tar.gz |
Reformulate bpf_dettachd() to acquire the BIF_LOCK() as well as
BPFD_LOCK() when removing a descriptor from an interface descriptor
list. Hold both over the operation, and do a better job at
maintaining the invariant that you can't find partially connected
descriptors on an active interface descriptor list.
This appears to close a race that resulted in the kernel performing
a NULL pointer dereference when BPF sessions are detached during
heavy network activity on SMP systems.
RELENG_5 candidate.
Diffstat (limited to 'usr.sbin/usbdevs')
0 files changed, 0 insertions, 0 deletions