Date: Tue, 21 Aug 2018 19:52:27 -0400 From: Mark Johnston <markj@freebsd.org> To: Matthew Macy <mmacy@freebsd.org> Cc: Gleb Smirnoff <glebius@freebsd.org>, src-committers <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: <20180821235227.GB55580@raichu> In-Reply-To: <CAPrugNr6N8O%2BVA5Nykh58aV733_5aj4vbgh=S-6A3Awf%2BK_zDw@mail.gmail.com> References: <201808152023.w7FKN9LL055254@repo.freebsd.org> <20180821212047.GM27633@FreeBSD.org> <CAPrugNr6N8O%2BVA5Nykh58aV733_5aj4vbgh=S-6A3Awf%2BK_zDw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 21, 2018 at 04:00:10PM -0700, Matthew Macy wrote:
> Yes. See r338162. Thanks.
You missed instances of the same bug in in_mcast.c and in6_mcast.c.
> On Tue, Aug 21, 2018 at 2:24 PM Gleb Smirnoff <glebius@freebsd.org> wrote:
> > 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?20180821235227.GB55580>
