LOR + panic in scope6.c

Bjoern A. Zeeb bzeeb-lists at lists.zabbadoz.net
Wed Aug 10 08:50:10 GMT 2005


On Wed, 10 Aug 2005, Hajimu UMEMOTO wrote:

> Hi,
>
> >>>>> On Tue, 9 Aug 2005 21:22:35 +0000 (UTC)
> >>>>> "Bjoern A. Zeeb" <bzeeb-lists at lists.zabbadoz.net> said:
>
> bzeeb> The code goes about like this:
>
> bzeeb> ...
> bzeeb>         SK_UNLOCK(sc);
> bzeeb>         ether_ifattach(ifp, eaddr);
> bzeeb>         SK_LOCK(sc);
> bzeeb> ...
> bzeeb>         SK_UNLOCK(sc);
> bzeeb>         if (mii_phy_probe(dev, &sc_if->sk_miibus,
> bzeeb>             sk_ifmedia_upd, sk_ifmedia_sts)) {
> bzeeb>                 printf("skc%d: no PHY found!\n", sc_if->sk_unit);
> bzeeb>  boom ==>>      ether_ifdetach(ifp);
> bzeeb>                 if_free(ifp);
> bzeeb>                 error = ENXIO;
> bzeeb>                 goto fail;
> bzeeb>         }
>
>
> bzeeb> I guess I should check tomorrow that if_attachdomain1 really calls
> bzeeb> the routines for AF_INET6 and what they do...
>
> ether_ifattach() is called, and ether_ifattach() calls if_attach().
> if_attachdomain1() is called from if_attach().  So,
> ifp->if_afdata[AF_INET6] should be initialized.
> However, domain_init_status was introduced, and it may prevent
> if_attachdomain1() from initializing ifp->if_afdata.  So, I suspect
> the state of domain_init_status.

Yupp. seen that netinet6 code also seems to DTRT so I am currently
adding debug printfs everywhere to see what gets called when or
if things get called...

-- 
Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT


More information about the freebsd-current mailing list