Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Aug 2018 11:34:30 -0700
From:      Matthew Macy <mmacy@freebsd.org>
To:        "Andrey V. Elsukov" <bu7cher@yandex.ru>
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:  <CAPrugNpbJHmt-Y66AqYcuap_JRkKvb0SfBM_FWbP0EnXNwWoew@mail.gmail.com>
In-Reply-To: <79ad414a-3e8e-3abd-0a8a-4d61b9ccfb4f@yandex.ru>
References:  <201808152023.w7FKN9LL055254@repo.freebsd.org> <79ad414a-3e8e-3abd-0a8a-4d61b9ccfb4f@yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Sorry. I'll take a look.

On Fri, Aug 17, 2018 at 05:30 Andrey V. Elsukov <bu7cher@yandex.ru> wrote:

> On 15.08.2018 23:23, Matt Macy wrote:
> > Author: mmacy
> > Date: Wed Aug 15 20:23:08 2018
> > New Revision: 337866
> > URL: https://svnweb.freebsd.org/changeset/base/337866
> >
> > Log:
> >   Fix in6_multi double free
> >
> >   This is actually several different bugs:
> >   - The code is not designed to handle inpcb deletion after interface
> deletion
> >     - add reference for inpcb membership
> >   - The multicast address has to be removed from interface lists when
> the refcount
> >     goes to zero OR when the interface goes away
> >     - decouple list disconnect from refcount (v6 only for now)
> >   - ifmultiaddr can exist past being on interface lists
> >     - add flag for tracking whether or not it's enqueued
> >   - deferring freeing moptions makes the incpb cleanup code simpler but
> opens the
> >     door wider still to races
> >     - call inp_gcmoptions synchronously after dropping the the inpcb lock
> >
> >   Fundamentally multicast needs a rewrite - but keep applying band-aids
> for now.
> >
> >   Tested by: kp
> >   Reported by: novel, kp, lwhsu
> >
> > Modified:
> >   head/sys/net/if.c
> >   head/sys/net/if_var.h
> >   head/sys/netinet/in_mcast.c
> >   head/sys/netinet/in_pcb.c
> >   head/sys/netinet/ip_carp.c
> >   head/sys/netinet6/in6_ifattach.c
> >   head/sys/netinet6/in6_mcast.c
> >   head/sys/netinet6/in6_var.h
> >   head/sys/netinet6/mld6.c
>
> Hi,
>
> After this commit my test machine panics just after boot finishes.
> Reverting this commit helps.
> Machine has two interfaces in failover lagg. One interface is not
> connected.
>
> FreeBSD 12.0-ALPHA2 (GENERIC) #2 r337961M: Fri Aug 17 14:54:48 MSK 2018
>
> # ifconfig
> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>
> options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
>         ether 00:22:4d:6a:5e:b9
>         media: Ethernet autoselect
>         status: no carrier
>         nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
> re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>
> options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
>         ether 00:22:4d:6a:5e:b9
>         hwaddr 1c:bd:b9:de:0d:7d
>         media: Ethernet autoselect (1000baseT <full-duplex>)
>         status: active
>         nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
> lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>
> options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
>         ether 00:22:4d:6a:5e:b9
>         inet6 fe80::222:4dff:fe6a:5eb9%lagg0 prefixlen 64 scopeid 0x5
>         inet 10.9.8.6 netmask 0xffffff00 broadcast 10.9.8.255
>         laggproto failover lagghash l2,l3,l4
>         laggport: em0 flags=1<MASTER>
>         laggport: re0 flags=4<ACTIVE>
>         groups: lagg
>         media: Ethernet autoselect
>         status: active
>         nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
>
> --
> WBR, Andrey V. Elsukov
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPrugNpbJHmt-Y66AqYcuap_JRkKvb0SfBM_FWbP0EnXNwWoew>