svn commit: r337866 - in head/sys: net netinet netinet6

Gleb Smirnoff glebius at freebsd.org
Tue Aug 21 21:24:42 UTC 2018


On Wed, Aug 15, 2018 at 08:23:09PM +0000, Matt Macy wrote:
M> @@ -3772,8 +3775,11 @@ if_delmulti_locked(struct ifnet *ifp, struct ifmultiad
M>  			ll_ifma->ifma_ifp = NULL;	/* XXX */
M>  		if (--ll_ifma->ifma_refcount == 0) {
M>  			if (ifp != NULL) {
M> -				CK_STAILQ_REMOVE(&ifp->if_multiaddrs, ll_ifma, ifmultiaddr,
M> -				    ifma_link);
M> +				if (ll_ifma->ifma_flags & IFMA_F_ENQUEUED) {
M> +					CK_STAILQ_REMOVE(&ifp->if_multiaddrs, ll_ifma, ifmultiaddr,
M> +						ifma_link);
M> +					ifma->ifma_flags &= ~IFMA_F_ENQUEUED;
M> +				}
M>  			}
M>  			if_freemulti(ll_ifma);
M>  		}

Coverity suggested there is a cut and paste mistake here, and it is compilable.
After quick glance I tend to agree. Looks like flag is cleared on wrong ifma.

-- 
Gleb Smirnoff


More information about the svn-src-head mailing list