Messages in this thread | | | Date | Wed, 15 Mar 2017 07:30:19 -0400 | From | Sowmini Varadhan <> | Subject | Re: crypto: deadlock between crypto_alg_sem/rtnl_mutex/genl_mutex |
| |
On (03/15/17 10:08), Dmitry Vyukov wrote: > After I've applied the patch these reports stopped to happen, and I > have not seem any other reports that look relevant. > However, it there was one, but it looks like a different issue and it > was probably masked by massive amounts of original deadlock reports:
Yes, this looks like a valid deadlock.
I think there may be some ->dumpit callbacks that take the rtnl_lock and do not unlock it before return, e.g., I see nl80211_dump_interface() doing this at
2612 rtnl_lock(); 2613 if (!cb->args[2]) { : 2619 ret = nl80211_dump_wiphy_parse(skb, cb, &state); 2620 if (ret) 2621 return ret;
afaict, nl80211_dump_wiphy_parse does not itself do rtnl_unlock on error.
If that's the case then we'd run into the circular locking dependancy flagged by lockdep.
Disclaimer: I did not check every single ->dumpit, there may be more than one of these..
| |