Date: Tue, 27 Mar 2001 19:35:24 -0500 From: Mike Tancsa <mike@sentex.net> To: Archie Cobbs <archie@dellroad.org> Cc: freebsd-stable@freebsd.org, freebsd-net@freebsd.org, luigi@freebsd.org Subject: Re: Kernel Panic on 4.3-RC #0 using PPPoE Message-ID: <4.2.2.20010327193230.02d68f08@192.168.0.12> In-Reply-To: <200103272040.f2RKeBn44013@arch20m.dellroad.org> References: <4.2.2.20010327070955.01db1268@192.168.0.12>
next in thread | previous in thread | raw e-mail | index | archive | help
At 12:40 PM 3/27/2001 -0800, Archie Cobbs wrote: >Mike Tancsa writes: > > >Not sure why this hasn't been detected before though. Below is > > >a possible patch. > > > > It has been at http://www.freebsd.org/cgi/query-pr.cgi?pr=25478 and > > discussed a few times in freebsd-net. > >Here is the better (?) patch. I'd like to commit this if nobody >objects.. > >Luigi: would you mind reviewing this for possible BRIDGE problems? Any chances for kern/22176 kern/22177 kern/22178 kern/22179 kern/22181 These were raised on freebsd-net as well in the thread "A few nasty bugs in the networking code" > > kern/22176 if_delmulti() (net/if.c) does not notify a corresponding interface driver when a _link-layer_ multicast group is being left. Hence hardware multicast filters won't get reloaded etc. Of course, one may rarely need link-layer mcast groups (but I did). Nevertheless, it's a bug and must be fixed. > > kern/22177 There is a mtod() without a prior m_pullup() in netinet/if_ether.c. The system might be likely to crash sometimes... > > kern/22178 The vlan driver don't update byte/packet counters that it should to. > > kern/22179 The vlan driver mishandles the interface flags. That may lead to Bad Things like crashes sometimes... > > kern/22181 The vlan driver's author got a wrong idea about the struct sockaddr_dl contents when writing the code. It's also a good idea to check the return value of malloc()... >-Archie > >__________________________________________________________________________ >Archie Cobbs * Packet Design * http://www.packetdesign.com > >Index: if_ethersubr.c >=================================================================== >RCS file: /home/ncvs/src/sys/net/if_ethersubr.c,v >retrieving revision 1.70.2.15 >diff -u -r1.70.2.15 if_ethersubr.c >--- if_ethersubr.c 2001/03/13 22:00:32 1.70.2.15 >+++ if_ethersubr.c 2001/03/27 20:39:38 >@@ -366,6 +366,11 @@ > { > int s, error = 0; > >+ if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING)) { >+ m_freem(m); >+ return (ENETDOWN); >+ } >+ > #ifdef BRIDGE > if (do_bridge && BDG_USED(ifp) ) { > struct ether_header *eh; /* a ptr suffices */ > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-stable" in the body of the message -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Network Administration, mike@sentex.net Sentex Communications www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4.2.2.20010327193230.02d68f08>