tmp_suning_uos_patched/net/wireless
Dan Williams 259d8c1e98 nl80211: Sanitize array index in parse_txq_params
Wireless drivers rely on parse_txq_params to validate that txq_params->ac
is less than NL80211_NUM_ACS by the time the low-level driver's ->conf_tx()
handler is called. Use a new helper, array_index_nospec(), to sanitize
txq_params->ac with respect to speculation. I.e. ensure that any
speculation into ->conf_tx() handlers is done with a value of
txq_params->ac that is within the bounds of [0, NL80211_NUM_ACS).

Reported-by: Christian Lamparter <chunkeey@gmail.com>
Reported-by: Elena Reshetova <elena.reshetova@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-arch@vger.kernel.org
Cc: kernel-hardening@lists.openwall.com
Cc: gregkh@linuxfoundation.org
Cc: linux-wireless@vger.kernel.org
Cc: torvalds@linux-foundation.org
Cc: "David S. Miller" <davem@davemloft.net>
Cc: alan@linux.intel.com
Link: https://lkml.kernel.org/r/151727419584.33451.7700736761686184303.stgit@dwillia2-desk3.amr.corp.intel.com
2018-01-30 21:54:32 +01:00
..
certs cfg80211: ship certificates as hex files 2017-12-19 09:28:01 +01:00
.gitignore
ap.c
chan.c
core.c cfg80211: check dev_set_name() return value 2018-01-15 11:35:06 +01:00
core.h mac80211_hwsim: validate number of different channels 2018-01-15 09:34:45 +01:00
debugfs.c
debugfs.h
ethtool.c
ibss.c
Kconfig
lib80211_crypt_ccmp.c
lib80211_crypt_tkip.c
lib80211_crypt_wep.c
lib80211.c
Makefile cfg80211: ship certificates as hex files 2017-12-19 09:28:01 +01:00
mesh.c
mlme.c
nl80211.c nl80211: Sanitize array index in parse_txq_params 2018-01-30 21:54:32 +01:00
nl80211.h
ocb.c
of.c
radiotap.c
rdev-ops.h
reg.c cfg80211: fully initialize old channel for event 2018-01-15 09:15:03 +01:00
reg.h
scan.c
sme.c
sysfs.c
sysfs.h
trace.c
trace.h
util.c
wext-compat.c cfg80211: fix station info handling bugs 2018-01-18 15:36:18 -05:00
wext-compat.h
wext-core.c
wext-priv.c
wext-proc.c
wext-sme.c
wext-spy.c