linux/drivers/net/wireless/intel/iwlwifi
Luca Coelho 9a233bb802 iwlwifi: mvm: check if mac80211_queue is valid in iwl_mvm_disable_txq
Sometimes iwl_mvm_disable_txq() may be called with mac80211_queue ==
IEEE80211_INVAL_HW_QUEUE, and this would cause us to use BIT(0xFF)
which is way too large for the u16 we used to store it in
hw_queue_to_mac820211.  If this happens the following UBSAN warning
will be generated:

[  167.185167] UBSAN: Undefined behaviour in drivers/net/wireless/intel/iwlwifi/mvm/utils.c:838:5
[  167.185171] shift exponent 255 is too large for 64-bit type 'long unsigned int'

Fix that by checking that it is not IEEE80211_INVAL_HW_QUEUE and,
while at it, add a warning if the queue number is larger than
IEEE80211_MAX_QUEUES.

Fixes: 34e10860ae ("iwlwifi: mvm: remove references to queue_info in new TX path")
Reported-by: Paul Menzel <pmenzel+linux-wireless@molgen.mpg.de>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-03-28 12:16:04 +03:00
..
cfg iwlwifi: add shared clock PHY config flag for some devices 2018-03-16 12:34:54 +02:00
dvm wireless: Use octal not symbolic permissions 2018-03-27 11:01:13 +03:00
fw iwlwifi: set default timstamp marker cmd 2018-03-28 12:16:04 +03:00
mvm iwlwifi: mvm: check if mac80211_queue is valid in iwl_mvm_disable_txq 2018-03-28 12:16:04 +03:00
pcie Merge git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git 2018-03-28 11:57:34 +03:00
iwl-agn-hw.h
iwl-config.h iwlwifi: add shared clock PHY config flag for some devices 2018-03-16 12:34:54 +02:00
iwl-context-info.h iwlwifi: pcie: add context information support 2017-04-11 15:19:34 +03:00
iwl-csr.h iwlwifi: remove dead code for internal devices only 2017-11-03 11:56:08 +02:00
iwl-debug.c
iwl-debug.h iwlwifi: acpi: add common code to read from ACPI 2017-10-06 15:22:28 +03:00
iwl-devtrace-data.h iwlwifi: simplify data tracepoint 2017-06-23 11:57:20 +03:00
iwl-devtrace-io.h iwlwifi: pcie: add MSI-X interrupt tracing 2017-06-29 20:27:48 +03:00
iwl-devtrace-iwlwifi.h iwlwifi: add skb address to tx cmd in trace events data 2017-12-20 18:28:24 +02:00
iwl-devtrace-msg.h
iwl-devtrace-ucode.h
iwl-devtrace.c
iwl-devtrace.h iwlwifi: fix tracing when tx only is enabled 2017-07-21 12:26:38 +03:00
iwl-drv.c wireless: Use octal not symbolic permissions 2018-03-27 11:01:13 +03:00
iwl-drv.h iwlwifi: cleanup references to 8000 family in NVM code 2017-06-05 23:25:21 +03:00
iwl-eeprom-parse.c
iwl-eeprom-parse.h iwlwifi: remove useless iwl_free_nvm_data() function 2017-06-23 12:02:58 +03:00
iwl-eeprom-read.c
iwl-eeprom-read.h
iwl-fh.h iwlwifi: rename the temporary name of A000 to the official 22000 2017-11-28 16:39:57 +02:00
iwl-io.c iwlwifi: fix nmi triggering from host 2017-08-09 21:14:43 +03:00
iwl-io.h
iwl-modparams.h iwlwifi: unify external & internal modparam names 2017-06-29 13:26:25 +03:00
iwl-nvm-parse.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git 2017-10-16 17:09:24 +03:00
iwl-nvm-parse.h iwlwifi: acpi: move function to get mcc into acpi code 2017-10-06 15:22:32 +03:00
iwl-op-mode.h
iwl-phy-db.c iwlwifi: mvm: add documentation for all command IDs 2017-06-29 13:26:24 +03:00
iwl-phy-db.h
iwl-prph.h iwlwifi: fix nmi triggering from host 2017-08-09 21:14:43 +03:00
iwl-scd.h
iwl-trans.c iwlwifi: trans: move ref/unref code to the common part of the transport 2017-10-06 14:57:20 +03:00
iwl-trans.h iwlwifi: avoid duplicate sw reset executions in the code 2017-12-20 18:28:24 +02:00
Kconfig iwlwifi: fix malformed CONFIG_IWLWIFI_PCIE_RTPM default 2018-03-02 10:20:03 +02:00
Makefile iwlwifi: runtime: sync FW and host clocks for logs 2017-12-20 18:28:24 +02:00