Luca Coelho <luca@xxxxxxxxx> writes: > From: Hao Wei Tee <angelsl@xxxxxxx> > > When there are 16 or more logical CPUs, we request for > `IWL_MAX_RX_HW_QUEUES` (16) IRQs only as we limit to that number of > IRQs, but later on we compare the number of IRQs returned to > nr_online_cpus+2 instead of max_irqs, the latter being what we > actually asked for. This ends up setting num_rx_queues to 17 which > causes lots of out-of-bounds array accesses later on. > > Compare to max_irqs instead, and also add an assertion in case > num_rx_queues > IWM_MAX_RX_HW_QUEUES. > > This fixes https://bugzilla.kernel.org/show_bug.cgi?id=199551 > > Signed-off-by: Hao Wei Tee <angelsl@xxxxxxx> > Tested-by: Sara Sharon <sara.sharon@xxxxxxxxx> > Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Like we discussed I'll take this directly for 4.17 and add: Fixes: 2e5d4a8f61dc ("iwlwifi: pcie: Add new configuration to enable MSIX") -- Kalle Valo