Re: [BISECTED] 5.12 hangs at reboot

From: Linus Torvalds
Date: Mon Apr 26 2021 - 18:49:55 EST


On Mon, Apr 26, 2021 at 3:18 PM Harald Arnesen <harald@xxxxxxxxxxx> wrote:
>
> Photos of the screen with lockdep enabled.

Ok, so this is certainly not all of it, but the rest must have
scrolled off even the hw scroll buffer. But you've caught at least one
interesting backtrace:

cfg80211_destroy_iface_wk() takes wiphy_lock
-> cfg80211_destroy_ifaces()
->ieee80211_del_iface
->ieeee80211_if_remove
->cfg80211_unregister_wdev
->unregister_netdevice_queue
->dev_close_many
->__dev_close_many
->raw_notifier_call_chain
->cfg80211_netdev_notifier_call

and that wants the rtnl lock. Which it won't get, because something
else is holding on to it.

At a guess, there is some other sequence that takes the rtnl lock, and
then takes the wiphy_lock inside of it, and we have a ABBA deadlock.

<insert-shocked-pikachu face>

I _hate_ that stupid rtnl lock. It's come up before. Several times.
It's probably the most broken lock in the kernel.

Linus