Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Oct 2000 22:07:42 -0700 (PDT)
From:      Tony Fleisher <takhus@takhus.mind.net>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        phk@FreeBSD.org, current@FreeBSD.org
Subject:   Re: bpf "fix"
Message-ID:  <Pine.BSF.4.21.0010022200400.29738-100000@takhus-home.ashlandfn.org>
In-Reply-To: <XFMail.001002215431.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Yeah, I didn't figure that my patch was correct.

I too am waiting to see what phk comes up with. :)

He did commit a new flag to sys/sys/conf.h on Sep. 19
"Introduce experimental SI_CHEAPCLONE flag set it on cloned bpfs."
but I have not seen anything in the source come up that uses it... yet.:

conf.h:59:
#define SI_CHEAPCLONE	0x0008	/* can be removed_dev'ed when vnode reclaims */

Regards,

TOny.

On Mon, 2 Oct 2000, John Baldwin wrote:

> 
> On 03-Oct-00 Tony Fleisher wrote:
> > I submitted a PR on this a few weeks ago.
> > 
> > See: http://www.FreeBSD.org/cgi/query-pr.cgi?pr=21391 for comments
> > from phk.
> 
> Hmm, well your patch would break in the non-DEVFS case.  In the non-DEVFS
> case, open() still needs to call make_dev(), but I'm eager to see what phk's
> better solution is. :-P
> 
> > On Mon, 2 Oct 2000, John Baldwin wrote:
> > 
> >> I stared at the bpf code some last week, and determined that the
> >> extra make_dev() was in bpf's open() method in the non-devfs
> >> case.  As such, I have a rather simple patch.  However, I don't
> >> like a driver having to be aware of devfs.  Does anyone have any
> >> other (preferably cleaner) ways to fix this?
> >> 
> >> http://www.FreeBSD.org/~jhb/patches/bpf.patch
> >> 
> >> Index: net/bpf.c
> >> ===================================================================
> >> RCS file: /usr/cvs/src/sys/net/bpf.c,v
> >> retrieving revision 1.67
> >> diff -u -r1.67 bpf.c
> >> --- net/bpf.c   2000/09/19 10:28:41     1.67
> >> +++ net/bpf.c   2000/09/27 00:51:30
> >> @@ -363,8 +363,10 @@
> >>          */
> >>         if (d)
> >>                 return (EBUSY);
> >> -       make_dev(&bpf_cdevsw, minor(dev), UID_ROOT, GID_WHEEL, 0600,
> >> -           "bpf%d", dev2unit(dev));
> >> +       /* XXX - ugly, we shouldn't have to know about devfs here */
> >> +       if (!devfs_present)
> >> +               make_dev(&bpf_cdevsw, minor(dev), UID_ROOT, GID_WHEEL, 0600,
> >> +                   "bpf%d", dev2unit(dev));
> >>         MALLOC(d, struct bpf_d *, sizeof(*d), M_BPF, M_WAITOK);
> >>         bzero(d, sizeof(*d));
> >>         dev->si_drv1 = d;
> >> 
> >> -- 
> >> 
> >> John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
> >> PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
> >> "Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
> >> 
> >> 
> >> To Unsubscribe: send mail to majordomo@FreeBSD.org
> >> with "unsubscribe freebsd-current" in the body of the message
> >> 
> > 
> 
> -- 
> 
> John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
> PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
> "Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0010022200400.29738-100000>