diff options
author | Johannes Berg <johannes.berg@intel.com> | 2017-03-15 13:26:04 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-30 07:41:28 (GMT) |
commit | 56769e7a05268de991ef24e77383d44c56ad9141 (patch) | |
tree | 97d001a20ae0f6f739f5bd65be5cb8cad0b8eb4a /net/mpls | |
parent | 7b3c8b2a2e63f2ad0a16cda77b7698004640ad1a (diff) | |
download | linux-56769e7a05268de991ef24e77383d44c56ad9141.tar.xz |
nl80211: fix dumpit error path RTNL deadlocks
commit ea90e0dc8cecba6359b481e24d9c37160f6f524f upstream.
Sowmini pointed out Dmitry's RTNL deadlock report to me, and it turns out
to be perfectly accurate - there are various error paths that miss unlock
of the RTNL.
To fix those, change the locking a bit to not be conditional in all those
nl80211_prepare_*_dump() functions, but make those require the RTNL to
start with, and fix the buggy error paths. This also let me use sparse
(by appropriately overriding the rtnl_lock/rtnl_unlock functions) to
validate the changes.
Reported-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/mpls')
0 files changed, 0 insertions, 0 deletions