Luciano Coelho <luca@xxxxxxxxx> wrote: > 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 > > Fixes: 2e5d4a8f61dc ("iwlwifi: pcie: Add new configuration to enable MSIX") > Signed-off-by: Hao Wei Tee <angelsl@xxxxxxx> > Tested-by: Sara Sharon <sara.sharon@xxxxxxxxx> > Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Patch applied to wireless-drivers.git, thanks. ab1068d6866e iwlwifi: pcie: compare with number of IRQs requested for, not number of CPUs -- https://patchwork.kernel.org/patch/10434495/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches