PANIC in RELENG_6 from yesterday, if_de.c

Holm Tiffe holm at freibergnet.de
Mon Jan 29 09:20:59 UTC 2007


Hi guys,

I've build an RELENG_6 cvsupped yesterday and got a panic while booting
in if_de.c related to BPF. (Null pointer)
My friend J"org Wunsch (Tm) investigated that it was coming from if_de.c
line 4044:

    /*
     * bounce a copy to the bpf listener, if any.
     */
 ->>   BPF_MTAP(sc->tulip_ifp, m);

The expansion of this macro on a 6.2-RC is as follows:

do { if ((sc->tulip_ifp)->if_bpf) { ; bpf_mtap((sc->tulip_ifp)->if_bpf, (m)); } } while (0);


on a older 6-stable this gets expanded like this:


do { if (bpf_peers_present((sc->tulip_ifp)->if_bpf)) { ; bpf_mtap_new((sc->tulip_ifp)->if_bpf, (m)); } } while (0);

The macro is coming from /sys/net/bpf.h :


#define BPF_MTAP(_ifp,_m) do {                                  \
        if ((_ifp)->if_bpf) {                                   \
                M_ASSERTVALID(_m);                              \
                bpf_mtap((_ifp)->if_bpf, (_m));                 \
        }                                                       \
} while (0)


On a 6.2-RC:

#define BPF_MTAP(_ifp,_m) do {                                  \
        if (bpf_peers_present((_ifp)->if_bpf)) {                \
                M_ASSERTVALID(_m);                              \
                bpf_mtap((_ifp)->if_bpf, (_m));                 \
        }                                                       \
} while (0)

What's going on here?

Can someone please take a look at his?

Commenting out the line 4044 from if_de.c was bringing back the network interface to
life. Unfortunately I only hve a BNC Network at home...


Kind Regards,

Holm
-- 
FreibergNet.de IT Systems        Holm Tiffe      Administration, Development
09627 Bobritzsch Hauptstrasse 19, phone +49 3731 4193411, www.freibergnet.de
Bereich Server & Technik:     Am St.Niclas Schacht 13,        09599 Freiberg
phone 	+49 3731 419010,  mobile +49 172 8790 741,      fax +49 3731 4196026



More information about the freebsd-stable mailing list