cvs commit: src/sys/net bpf.c
Brian Fundakowski Feldman
green at FreeBSD.org
Thu Aug 5 12:31:03 PDT 2004
On Wed, Aug 04, 2004 at 11:23:49PM -0400, Robert Watson wrote:
> On Wed, 4 Aug 2004, Brian Fundakowski Feldman wrote:
> > On Thu, Aug 05, 2004 at 02:37:36AM +0000, Robert Watson wrote:
> > > rwatson 2004-08-05 02:37:36 UTC
> > >
> > > FreeBSD src repository
> > >
> > > Modified files:
> > > sys/net bpf.c
> > > Log:
> > > Do a lockless read of the BPF interface structure descriptor list head
> > > before grabbing BPF locks to see if there are any entries in order to
> > > avoid the cost of locking if there aren't any. Avoids a mutex lock/
> > > unlock for each packet received if there are no BPF listeners.
> > While you're there, do you want to check out the other problems I've
> > been noticing, relating to consistency/locking?
> Yes. Can you e-mail me the pointer to your patch and/or p4 branch again?
> I'll try to look at it tomorrow.
The main problems are accesses to bpf_d->bd_bif; in bpf_detachd(),
the accesses have no protection. I found that in catchpacket(),
d->bd_bif could be NULL (crash).
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> green at FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
More information about the cvs-all