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>