Subject: CVE-2024-49929: wifi: iwlwifi: mvm: avoid NULL pointer dereference

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

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

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

wifi: iwlwifi: mvm: avoid NULL pointer dereference

iwl_mvm_tx_skb_sta() and iwl_mvm_tx_mpdu() verify that the mvmvsta
pointer is not NULL.
It retrieves this pointer using iwl_mvm_sta_from_mac80211, which is
dereferencing the ieee80211_sta pointer.
If sta is NULL, iwl_mvm_sta_from_mac80211 will dereference a NULL
pointer.
Fix this by checking the sta pointer before retrieving the mvmsta
from it. If sta is not NULL, then mvmsta isn't either.

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

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

	Fixed in 6.6.55 with commit 6dcadb2ed3b7
	Fixed in 6.10.14 with commit cdbf51bfa4b0
	Fixed in 6.11.3 with commit c0b4f5d94934
	Fixed in 6.12-rc1 with commit 557a6cd84764

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-49929
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/tx.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/6dcadb2ed3b76623ab96e3e7fbeda1a374d01c28
	https://git.kernel.org/stable/c/cdbf51bfa4b0411820806777da36d93d49bc49a1
	https://git.kernel.org/stable/c/c0b4f5d94934c290479180868a32c15ba36a6d9e
	https://git.kernel.org/stable/c/557a6cd847645e667f3b362560bd7e7c09aac284