ipv6 panic in 6.0 ([kris@FreeBSD.org: kern/85780: 'panic: bogus refcnt 0' in routing/ipv6])

Bruce Evans bde at zeta.org.au
Wed Mar 8 11:29:34 UTC 2006


On Mon, 6 Mar 2006, Kris Kennaway wrote:

> P.S. This comment in netinet6/ip6_output.c appears to be bogus, since
> RTFREE is only a single statement:
>
>        if (ro == &ip6route && ro->ro_rt) { /* brace necessary for RTFREE */
>                RTFREE(ro->ro_rt);
>        } else if (ro_pmtu == &ip6route && ro_pmtu->ro_rt) {
>                RTFREE(ro_pmtu->ro_rt);
>        }

This is because peter fixed RTFREE() 7 years ago in rev.1.29 of route.h.
It used not to be wrapped in "do while (0)".  It was also fixed in NetBSD
7.5 years ago so there should be few portabilty problems with assuming
that it is fixed.  NetBSD is missing the style bug in rev.1.29 (indentation
of the wrapped code instead of outdentation of the do-while).

Bruce


More information about the freebsd-net mailing list