Date: Thu, 9 Sep 2004 04:11:12 +0000 (UTC) From: Robert Watson <rwatson@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/net bpf.c Message-ID: <200409090411.i894BCSx095383@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
rwatson 2004-09-09 04:11:12 UTC
FreeBSD src repository
Modified files:
sys/net bpf.c
Log:
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.
Revision Changes Path
1.136 +20 -11 src/sys/net/bpf.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409090411.i894BCSx095383>
