Date: Mon, 8 Mar 2004 16:50:14 -0800 (PST) From: Stefan `Sec` Zehl <sec@42.org> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/63772: tap device / exclusive open problem Message-ID: <200403090050.i290oEuG015002@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/63772; it has been noted by GNATS. From: Stefan `Sec` Zehl <sec@42.org> To: Brooks Davis <brooks@one-eyed-alien.net> Cc: FreeBSD-gnats-submit@freebsd.org, freebsd-bugs@freebsd.org Subject: Re: kern/63772: tap device / exclusive open problem Date: Tue, 9 Mar 2004 01:46:45 +0100 On Fri, Mar 05, 2004 at 10:55 -0800, Brooks Davis wrote: [...] > > KASSERT(!(tp->tap_flags & TAP_OPEN), > > ("%s flags is out of sync", tp->tap_if.if_xname)); > > > > + if (tp->tap_flags & TAP_OPEN) > > + return (EBUSY); > > + [...] > There's obviously something complicated going on since with INVARIANTS > enabled this would either return EBUSY or panic. This should definitely > not be committed as is. I must admit, I don't understand the problem. this is an really simple if. Nothing is modified, and tp is not NULL, or the KASSERT above would be broken already. How do you get it to panic? It works fine for me. CU, Sec -- In 1968 it took the computing-Power of 2 C-64 to fly a rocket to the moon. Now, 1997 it takes the Power of a Pentium 133 to run Microsoft Windows 95. Something must have gone wrong.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403090050.i290oEuG015002>