svn commit: r337866 - in head/sys: net netinet netinet6
Mark Johnston
markj at freebsd.org
Tue Aug 21 23:52:33 UTC 2018
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 at 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
> >
More information about the svn-src-all
mailing list