Subject: CVE-2024-50005: mac802154: Fix potential RCU dereference issue in mac802154_scan_worker

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

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

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

mac802154: Fix potential RCU dereference issue in mac802154_scan_worker

In the `mac802154_scan_worker` function, the `scan_req->type` field was
accessed after the RCU read-side critical section was unlocked. According
to RCU usage rules, this is illegal and can lead to unpredictable
behavior, such as accessing memory that has been updated or causing
use-after-free issues.

This possible bug was identified using a static analysis tool developed
by myself, specifically designed to detect RCU-related issues.

To address this, the `scan_req->type` value is now stored in a local
variable `scan_req_type` while still within the RCU read-side critical
section. The `scan_req_type` is then used after the RCU lock is released,
ensuring that the type value is safely accessed without violating RCU
rules.

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

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

	Issue introduced in 6.5 with commit e2c3e6f53a7a and fixed in 6.6.55 with commit e676e4ea76bb
	Issue introduced in 6.5 with commit e2c3e6f53a7a and fixed in 6.10.14 with commit 540138377b22
	Issue introduced in 6.5 with commit e2c3e6f53a7a and fixed in 6.11.3 with commit d18f66946181
	Issue introduced in 6.5 with commit e2c3e6f53a7a and fixed in 6.12-rc2 with commit bff1709b3980

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-50005
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:
	net/mac802154/scan.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/e676e4ea76bbe7f1156d8c326b9b6753849481c2
	https://git.kernel.org/stable/c/540138377b22f601f06f55ebfa3ca171dcab471a
	https://git.kernel.org/stable/c/d18f669461811dfe2915d5554ab2a9834f810013
	https://git.kernel.org/stable/c/bff1709b3980bd7f80be6786f64cc9a9ee9e56da