kernel_optimize_test/net/mac80211
Alexander Duyck bf7fa551e0 mac80211: Resolve sk_refcnt/sk_wmem_alloc issue in wifi ack path
There is a possible issue with the use, or lack thereof of sk_refcnt and
sk_wmem_alloc in the wifi ack status functionality.

Specifically if a socket were to request acknowledgements, and the socket
were to have sk_refcnt drop to 0 resulting in it waiting on sk_wmem_alloc
to reach 0 it would be possible to have sock_queue_err_skb orphan the last
buffer, resulting in __sk_free being called on the socket.  After this the
buffer is enqueued on sk_error_queue, however the queue has already been
flushed resulting in at least a memory leak, if not a data corruption.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-12 17:51:25 -04:00
..
aes_ccm.c mac80211: remove VLAIS usage from mac80211 2014-04-09 10:55:27 +02:00
aes_ccm.h
aes_cmac.c
aes_cmac.h
agg-rx.c mac80211: add support for Rx reordering offloading 2014-07-21 17:42:07 +02:00
agg-tx.c mac80211: introduce refcount for queue_stop_reasons 2014-06-23 14:22:25 +02:00
cfg.c mac80211: don't duplicate station QoS capability data 2014-08-15 14:38:08 +02:00
cfg.h
chan.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-09-08 11:14:56 -04:00
debug.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c mac80211: don't check netdev state for debugfs read/write 2014-05-28 16:22:48 +02:00
debugfs_netdev.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
debugfs_sta.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-09-08 11:14:56 -04:00
debugfs_sta.h
debugfs.c mac80211: use RCU_INIT_POINTER 2014-04-09 10:55:30 +02:00
debugfs.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
driver-ops.h mac80211: split sched scan IEs 2014-06-25 09:10:43 +02:00
ethtool.c cfg80211: make ethtool the driver's responsibility 2014-06-23 11:05:33 +02:00
event.c
ht.c mac80211: set Rx highest rate in ht_cap 2014-07-21 12:14:04 +02:00
ibss.c mac80211: don't duplicate station QoS capability data 2014-08-15 14:38:08 +02:00
ieee80211_i.h mac80211: make ieee80211_vif_use_reserved_switch static 2014-08-26 11:15:35 +02:00
iface.c mac80211: fix start_seq_num in Rx reorder offload 2014-08-26 11:13:32 +02:00
Kconfig mac80211: remove PID rate control 2014-06-23 11:05:23 +02:00
key.c mac80211: Fix accounting of the tailroom-needed counter 2014-08-26 11:15:59 +02:00
key.h
led.c
led.h
main.c mac80211: introduce refcount for queue_stop_reasons 2014-06-23 14:22:25 +02:00
Makefile cfg80211: make ethtool the driver's responsibility 2014-06-23 11:05:33 +02:00
mesh_hwmp.c mac80211: remove unnecessary break after return 2014-07-15 16:27:00 -07:00
mesh_pathtbl.c mac80211: Replace rcu_dereference() with rcu_access_pointer() 2014-08-27 12:14:10 +02:00
mesh_plink.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-09-08 11:14:56 -04:00
mesh_ps.c mac80211: clear sequence/fragment number in QoS-null frames 2014-03-05 15:49:54 +01:00
mesh_sync.c mac80211: remove BUG_ON usage 2014-04-29 17:59:27 +02:00
mesh.c mac80211: move csa counters from sdata to beacon/presp 2014-06-23 14:22:06 +02:00
mesh.h
michael.c
michael.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
mlme.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-09-08 11:14:56 -04:00
offchannel.c mac80211: introduce refcount for queue_stop_reasons 2014-06-23 14:22:25 +02:00
pm.c mac80211: introduce refcount for queue_stop_reasons 2014-06-23 14:22:25 +02:00
rate.c
rate.h mac80211: remove PID rate control 2014-06-23 11:05:23 +02:00
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht_debugfs.c
rc80211_minstrel_ht.c mac80211: export the expected throughput 2014-05-21 09:15:16 +02:00
rc80211_minstrel_ht.h
rc80211_minstrel.c mac80211: export the expected throughput 2014-05-21 09:15:16 +02:00
rc80211_minstrel.h
rx.c cfg80211: remove @gfp parameter from cfg80211_rx_mgmt() 2014-08-26 11:15:58 +02:00
scan.c mac80211: scan: Replace rcu_assign_pointer() with RCU_INIT_POINTER() 2014-08-26 11:16:31 +02:00
spectmgmt.c
sta_info.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-09-08 11:14:56 -04:00
sta_info.h mac80211: don't duplicate station QoS capability data 2014-08-15 14:38:08 +02:00
status.c net: Mac80211: Remove silly timespec dance 2014-06-23 14:22:21 +02:00
tdls.c mac80211: don't duplicate station QoS capability data 2014-08-15 14:38:08 +02:00
tkip.c
tkip.h
trace.c
trace.h mac80211: protect TDLS discovery session 2014-06-23 14:28:19 +02:00
tx.c mac80211: Resolve sk_refcnt/sk_wmem_alloc issue in wifi ack path 2014-09-12 17:51:25 -04:00
util.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2014-07-22 13:49:34 -04:00
vht.c mac80211: disable VHT for TDLS 2014-07-21 12:14:04 +02:00
wep.c mac80211: remove weak WEP IV accounting 2014-06-23 11:05:31 +02:00
wep.h
wme.c mac80211: don't duplicate station QoS capability data 2014-08-15 14:38:08 +02:00
wme.h
wpa.c mac80211: fix a potential NULL access in ieee80211_crypto_hw_decrypt 2014-07-21 12:34:08 +02:00
wpa.h