kern/168742: detaching of ethernet adapter with configured vlans
leads to panic
Andrey V. Elsukov
ae at FreeBSD.org
Tue Aug 14 08:44:29 UTC 2012
On 07.08.2012 16:05, John Baldwin wrote:
> I think the problem is the assertion is wrong. We could add a new DETACHING
> flag, but I think the simplest fix is to just remove it. I'm not sure if a
> similar assertion in if_delmulti_ifma() should also be removed.
Hi, John.
This fixes the problem, thanks.
> Index: if.c
> ===================================================================
> --- if.c (revision 238992)
> +++ if.c (working copy)
> @@ -3058,19 +3058,7 @@ if_delmulti(struct ifnet *ifp, struct sockaddr *sa
> {
> struct ifmultiaddr *ifma;
> int lastref;
> -#ifdef INVARIANTS
> - struct ifnet *oifp;
>
> - IFNET_RLOCK_NOSLEEP();
> - TAILQ_FOREACH(oifp, &V_ifnet, if_link)
> - if (ifp == oifp)
> - break;
> - if (ifp != oifp)
> - ifp = NULL;
> - IFNET_RUNLOCK_NOSLEEP();
> -
> - KASSERT(ifp != NULL, ("%s: ifnet went away", __func__));
> -#endif
> if (ifp == NULL)
> return (ENOENT);
>
>
--
WBR, Andrey V. Elsukov
More information about the freebsd-net
mailing list