Subject: CVE-2024-47672: wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead

There is a WARNING in iwl_trans_wait_tx_queues_empty() (that was
recently converted from just a message), that can be hit if we
wait for TX queues to become empty after firmware died. Clearly,
we can't expect anything from the firmware after it's declared dead.

Don't call iwl_trans_wait_tx_queues_empty() in this case. While it could
be a good idea to stop the flow earlier, the flush functions do some
maintenance work that is not related to the firmware, so keep that part
of the code running even when the firmware is not running.

[edit commit message]

The Linux kernel CVE team has assigned CVE-2024-47672 to this issue.

Affected and fixed versions
===========================

	Fixed in 5.10.227 with commit de46b1d24f5f
	Fixed in 5.15.168 with commit 1afed66cb271
	Fixed in 6.1.112 with commit 1b0cd832c960
	Fixed in 6.6.53 with commit 4d0a900ec470
	Fixed in 6.10.12 with commit 7188b7a72320
	Fixed in 6.11 with commit 3a84454f5204

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2024-47672
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/de46b1d24f5f752b3bd8b46673c2ea4239661244
	https://git.kernel.org/stable/c/1afed66cb271b3e65fe9df1c9fba2bf4b1f55669
	https://git.kernel.org/stable/c/1b0cd832c9607f41f84053b818e0b7908510a3b9
	https://git.kernel.org/stable/c/4d0a900ec470d392476c428875dbf053f8a0ae5e
	https://git.kernel.org/stable/c/7188b7a72320367554b76d8f298417b070b05dd3
	https://git.kernel.org/stable/c/3a84454f5204718ca5b4ad2c1f0bf2031e2403d1