Date: Tue, 21 Aug 2018 14:20:47 -0700 From: Gleb Smirnoff <glebius@freebsd.org> To: Matt Macy <mmacy@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r337866 - in head/sys: net netinet netinet6 Message-ID: <20180821212047.GM27633@FreeBSD.org> In-Reply-To: <201808152023.w7FKN9LL055254@repo.freebsd.org> References: <201808152023.w7FKN9LL055254@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180821212047.GM27633>
