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 [EMAIL PROTECTED]
>with "unsubscribe freebsd-stable" in the body of the message

--------------------------------------------------------------------
Mike Tancsa,                                      tel +1 519 651 3400
Network Administration,                           [EMAIL PROTECTED]
Sentex Communications                             www.sentex.net
Cambridge, Ontario Canada                         www.sentex.net/mike


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to