Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Oct 2019 22:50:54 -0700
From:      Xin Li <delphij@delphij.net>
To:        freebsd-net <freebsd-net@freebsd.org>, freebsd-current@freebsd.org
Subject:   in6_mcast: in6_joingroup attempts to acquire IN6_MULTI_LOCK when sleeping prohibited
Message-ID:  <51c89593-a34b-46f8-bb4b-d1793ce6d1ae@delphij.net>

next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--OFr6YL2so5qjQgyO6vj1aS3sQAFcMdUT1
Content-Type: multipart/mixed; boundary="eDZYHAvp7PvqvfeHmUszNYVsJ5LoydURo";
 protected-headers="v1"
From: Xin Li <delphij@delphij.net>
Reply-To: d@delphij.net
To: freebsd-net <freebsd-net@freebsd.org>, freebsd-current@freebsd.org
Message-ID: <51c89593-a34b-46f8-bb4b-d1793ce6d1ae@delphij.net>
Subject: in6_mcast: in6_joingroup attempts to acquire IN6_MULTI_LOCK when
 sleeping prohibited

--eDZYHAvp7PvqvfeHmUszNYVsJ5LoydURo
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

I have seen this on boot of my laptop.

It appears that in6_joingroup() was called in netisr_dispatch_src
codepath, and it tried to acquire IN6_MULTI_LOCK(), which happened to
sleep because we failed to acquire the sx, thus triggered the panic.

=3D=3D=3D

panic: sleepq_add: td 0xfffff8000ecd6000 to sleep on wchan
0xffffffff81dedfe0 with sleeping prohibited


#1  0xffffffff80bbff90 in kern_reboot (howto=3D260)
    at /usr/src/sys/kern/kern_shutdown.c:479
#2  0xffffffff80bc03e6 in vpanic (fmt=3D<value optimized out>,
    ap=3D<value optimized out>) at /usr/src/sys/kern/kern_shutdown.c:908
#3  0xffffffff80bc0143 in panic (fmt=3D<value optimized out>)
    at /usr/src/sys/kern/kern_shutdown.c:835
#4  0xffffffff80c1a2bf in sleepq_add (wchan=3D0xffffffff81dedfe0, lock=3D=
0x0,
    wmesg=3D0xffffffff8110f331 "in6_multi_sx", flags=3D3, queue=3D0)
    at /usr/src/sys/kern/subr_sleepqueue.c:318
#5  0xffffffff80bc9ce4 in _sx_xlock_hard (sx=3D0xffffffff81dedfe0,
    x=3D18446735277856440320, opts=3D<value optimized out>,
    file=3D<value optimized out>, line=3D<value optimized out>)
    at /usr/src/sys/kern/kern_sx.c:841
#6  0xffffffff80bc983f in _sx_xlock (sx=3D0xffffffff81dedfe0, opts=3D0,
    file=3D0xffffffff8113a568 "/usr/src/sys/netinet6/in6_mcast.c", line=3D=
1185)
    at /usr/src/sys/kern/kern_sx.c:325
#7  0xffffffff80e17dd1 in in6_joingroup (ifp=3D0xfffff80003b99800,
    mcaddr=3D0xfffffe00e1612e58, imf=3D<value optimized out>,
    pinm=3D0xfffff80019e17300, delay=3D2) at
/usr/src/sys/netinet6/in6_mcast.c:1185
#8  0xffffffff80e0fa72 in in6_update_ifa (ifp=3D0xfffff80003b99800,
    ifra=3D<value optimized out>, ia=3D<value optimized out>,
    flags=3D<value optimized out>) at /usr/src/sys/netinet6/in6.c:752
#9  0xffffffff80e374c5 in nd6_ra_input (m=3D0xfffff800191d4a00,
    off=3D<value optimized out>, icmp6len=3D<value optimized out>)
    at /usr/src/sys/netinet6/nd6_rtr.c:2274
#10 0xffffffff80e096d5 in icmp6_input (mp=3D<value optimized out>,
    offp=3D0xfffffe00e161335c, proto=3D<value optimized out>)
    at /usr/src/sys/netinet6/icmp6.c:767
#11 0xffffffff80e22dff in ip6_input (m=3D0xfffff800191d4a00)
    at /usr/src/sys/netinet6/ip6_input.c:963
#12 0xffffffff80ceff11 in netisr_dispatch_src (proto=3D6, source=3D0,
    m=3D0xfffff800191d4a00) at /usr/src/sys/net/netisr.c:1127
#13 0xffffffff80cd399e in ether_demux (ifp=3D0xfffff80003b99800,
    m=3D<value optimized out>) at /usr/src/sys/net/if_ethersubr.c:916
#14 0xffffffff80cd4f88 in ether_nh_input (m=3D<value optimized out>)
    at /usr/src/sys/net/if_ethersubr.c:705
#15 0xffffffff80ceff11 in netisr_dispatch_src (proto=3D5, source=3D0,
    m=3D0xfffff800191d4a00) at /usr/src/sys/net/netisr.c:1127
#16 0xffffffff80cd3e8d in ether_input (ifp=3D0xfffff8000397a800, m=3D0x0)=

    at /usr/src/sys/net/if_ethersubr.c:824
#17 0xffffffff80d429f0 in sta_input (ni=3D<value optimized out>,
    m=3D0xfffff800191d4a00, rxs=3D<value optimized out>,
    rssi=3D<value optimized out>, nf=3D<value optimized out>)
    at /usr/src/sys/net80211/ieee80211_sta.c:891
#18 0xffffffff80d1ec2a in ieee80211_input_mimo (ni=3D0xfffffe0106c66000,
    m=3D0xfffff800191d4a00) at /usr/src/sys/net80211/ieee80211_input.c:10=
1
#19 0xffffffff848e55a2 in iwm_mvm_rx_rx_mpdu (sc=3D0xfffffe00e2c00000,
    m=3D0xfffff800191d4a00, offset=3D<value optimized out>,
    stolen=3D<value optimized out>) at /usr/src/sys/dev/iwm/if_iwm.c:3245=

#20 0xffffffff848e3fee in iwm_intr (arg=3D<value optimized out>)
    at /usr/src/sys/dev/iwm/if_iwm.c:5151


--eDZYHAvp7PvqvfeHmUszNYVsJ5LoydURo--

--OFr6YL2so5qjQgyO6vj1aS3sQAFcMdUT1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.2.17 (FreeBSD)

iQIzBAEBCgAdFiEEceNg5NEMZIki80nQQHl/fJX0g08FAl2pUsQACgkQQHl/fJX0
g0+lxw/+LOegOl2SbY654sqOk2YAetgj3KUlDN8wyQ/xko23Z/zC86Ivjs9dTSQB
R56FWF3i1aZRtxlr5U4Vz8i0TNO1zP+IqtvXf1K1nc3Bp9hK7IAzE9LqlhNc1A13
zxsWNWMy9FK6XG10I3lf8YNYEJjJWHRsgCjq7jPjXypwnQ2+KT1H7c1zBzk/zaac
GYxemhbo+B7T9zo+YNe1krhLBdnV1BvGNX7uweJCL/hSKkVdGJGdeT2Mm/etPwqI
PYEjxp+Wsf1hjCOLMOnMVluOYOv4ZLhhkl9fabchbMrkBfZ+FnktUGjIXmGFHKg7
PeZoLX2gEJw9NWq+//bguByC1f5JpQ6TNPcvCUFuXjcftHfn2h0ehVoGLz1lWuXe
s/JcPRZw6idPLCXgqU0ikapjNo3+jPEeyBnhgbriRd1H5cYIgjKava6Glu2Kr0Os
iRZmwQi5383MT1aNk96bWZnS9DI1TJBn1ucP6NQOYqYBiDQLs1gfn3im9sG4LNd8
7Bb6ZjyIBT0zr555UF6ka0tBjlwpeE3iQvLK/Z33MILrQ50LSnXrG8ZFLWqiB9xT
21xUOXgnvrQLnc5/adiUNR2b95LIqAMi2rFhVStSOq8DvyQXd4ruIdZTX4XaCdNt
gtrm8ZORiyVTwAw5ya1OCsnyiCcYer0C4Vd0Mu5DZH9oH1U2XCM=
=6vOo
-----END PGP SIGNATURE-----

--OFr6YL2so5qjQgyO6vj1aS3sQAFcMdUT1--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51c89593-a34b-46f8-bb4b-d1793ce6d1ae>