original_kernel/net/wireless
Johannes Berg ea90e0dc8c nl80211: fix dumpit error path RTNL deadlocks
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.

Cc: stable@vger.kernel.org
Reported-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-03-16 10:30:03 +01:00
..
.gitignore
Kconfig
Makefile
ap.c
chan.c
core.c cfg80211: fix NAN bands definition 2017-02-09 15:17:30 +01:00
core.h
db.txt
debugfs.c
debugfs.h
ethtool.c
genregdb.awk
ibss.c
lib80211.c
lib80211_crypt_ccmp.c
lib80211_crypt_tkip.c
lib80211_crypt_wep.c
mesh.c
mlme.c
nl80211.c nl80211: fix dumpit error path RTNL deadlocks 2017-03-16 10:30:03 +01:00
nl80211.h
ocb.c
of.c
radiotap.c
rdev-ops.h
reg.c
reg.h
regdb.h
scan.c
sme.c
sysfs.c
sysfs.h
trace.c
trace.h cfg80211: fix NAN bands definition 2017-02-09 15:17:30 +01:00
util.c
wext-compat.c
wext-compat.h
wext-core.c
wext-priv.c
wext-proc.c
wext-sme.c
wext-spy.c