kernel-fxtec-pro1x/net/wireless
Johannes Berg 3a5a423bb9 nl80211: fix attrbuf access race by allocating a separate one
Since my commit 3713b4e364 ("nl80211: allow splitting wiphy
information in dumps"), nl80211_dump_wiphy() uses the global
nl80211_fam.attrbuf for parsing the incoming data. This wouldn't
be a problem if it only did so on the first dump iteration which
is locked against other commands in generic netlink, but due to
space constraints in cb->args (the needed state doesn't fit) I
decided to always parse the original message. That's racy though
since nl80211_fam.attrbuf could be used by some other parsing in
generic netlink concurrently.

For now, fix this by allocating a separate parse buffer (it's a
bit too big for the stack, currently 1448 bytes on 64-bit). For
-next, I'll change the code to parse into the global buffer in
the first round only and then allocate a smaller buffer to keep
the data in cb->args.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-06-19 18:31:20 +02:00
..
.gitignore
ap.c cfg80211: move exported event functions into nl80211 2013-03-06 16:35:46 +01:00
chan.c
core.c cfg80211: fix interface down/disconnect state handling 2013-05-16 22:38:08 +02:00
core.h cfg80211: introduce critical protocol indication from user-space 2013-04-22 15:48:00 +02:00
db.txt
debugfs.c
debugfs.h
ethtool.c
ethtool.h
genregdb.awk
ibss.c
Kconfig
lib80211.c
lib80211_crypt_ccmp.c hostap: Don't use create_proc_read_entry() 2013-04-29 15:41:56 -04:00
lib80211_crypt_tkip.c hostap: Don't use create_proc_read_entry() 2013-04-29 15:41:56 -04:00
lib80211_crypt_wep.c hostap: Don't use create_proc_read_entry() 2013-04-29 15:41:56 -04:00
Makefile
mesh.c nl80211: explicit userspace MPM 2013-03-06 16:36:11 +01:00
mlme.c cfg80211: introduce critical protocol indication from user-space 2013-04-22 15:48:00 +02:00
nl80211.c nl80211: fix attrbuf access race by allocating a separate one 2013-06-19 18:31:20 +02:00
nl80211.h cfg80211: move exported event functions into nl80211 2013-03-06 16:35:46 +01:00
radiotap.c
rdev-ops.h cfg80211: introduce critical protocol indication from user-space 2013-04-22 15:48:00 +02:00
reg.c wireless: regulatory: fix channel disabling race condition 2013-04-16 15:25:46 +02:00
reg.h
regdb.h
scan.c cfg80211: always check for scan end on P2P device 2013-03-24 11:15:58 +01:00
sme.c cfg80211: check wdev->netdev in connection work 2013-05-23 18:12:38 +02:00
sysfs.c cfg80211/mac80211: disconnect on suspend 2013-03-06 16:35:55 +01:00
sysfs.h
trace.c
trace.h cfg80211: fix WoWLAN wakeup tracing 2013-05-16 22:38:03 +02:00
util.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2013-04-24 10:54:20 -04:00
wext-compat.c
wext-compat.h
wext-core.c
wext-priv.c
wext-proc.c
wext-sme.c cfg80211: always check for scan end on P2P device 2013-03-24 11:15:58 +01:00
wext-spy.c