]> git.baikalelectronics.ru Git - kernel.git/commit
nl80211: Sanitize array index in parse_txq_params
authorDan Williams <dan.j.williams@intel.com>
Tue, 30 Jan 2018 01:03:15 +0000 (17:03 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 30 Jan 2018 20:54:32 +0000 (21:54 +0100)
commitc0134e9ad54b592d016b5fdeebe653ca8d88efd9
tree9fc57a04ca95579ebbf6dbaf06b6bab792cb1395
parentde9316b8dda4528c84c5a8c6bdc62fa95a34ac5c
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
net/wireless/nl80211.c