Index: sys/netinet6/in6_mcast.c =================================================================== --- sys/netinet6/in6_mcast.c (revision 342073) +++ sys/netinet6/in6_mcast.c (working copy) @@ -632,6 +632,8 @@ i6mm_chain, imm_tmp) { if (inm == imm->i6mm_maddr) { LIST_REMOVE(imm, i6mm_chain); + inm->in6m_refcount--; + MPASS(inm->in6m_refcount > 0); free(imm, M_IP6MADDR); } } Index: sys/netinet6/mld6.c =================================================================== --- sys/netinet6/mld6.c (revision 342073) +++ sys/netinet6/mld6.c (working copy) @@ -2004,6 +2004,7 @@ if (mli->mli_version == MLD_VERSION_2 && inm->in6m_state == MLD_LEAVING_MEMBER) { inm->in6m_refcount--; + MPASS(inm->in6m_refcount > 0); } inm->in6m_state = MLD_REPORTING_MEMBER;