CVE-2024-35989
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
20/05/2024
Last modified:
04/04/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
dmaengine: idxd: Fix oops during rmmod on single-CPU platforms<br />
<br />
During the removal of the idxd driver, registered offline callback is<br />
invoked as part of the clean up process. However, on systems with only<br />
one CPU online, no valid target is available to migrate the<br />
perf context, resulting in a kernel oops:<br />
<br />
BUG: unable to handle page fault for address: 000000000002a2b8<br />
#PF: supervisor write access in kernel mode<br />
#PF: error_code(0x0002) - not-present page<br />
PGD 1470e1067 P4D 0<br />
Oops: 0002 [#1] PREEMPT SMP NOPTI<br />
CPU: 0 PID: 20 Comm: cpuhp/0 Not tainted 6.8.0-rc6-dsa+ #57<br />
Hardware name: Intel Corporation AvenueCity/AvenueCity, BIOS BHSDCRB1.86B.2492.D03.2307181620 07/18/2023<br />
RIP: 0010:mutex_lock+0x2e/0x50<br />
...<br />
Call Trace:<br />
<br />
__die+0x24/0x70<br />
page_fault_oops+0x82/0x160<br />
do_user_addr_fault+0x65/0x6b0<br />
__pfx___rdmsr_safe_on_cpu+0x10/0x10<br />
exc_page_fault+0x7d/0x170<br />
asm_exc_page_fault+0x26/0x30<br />
mutex_lock+0x2e/0x50<br />
mutex_lock+0x1e/0x50<br />
perf_pmu_migrate_context+0x87/0x1f0<br />
perf_event_cpu_offline+0x76/0x90 [idxd]<br />
cpuhp_invoke_callback+0xa2/0x4f0<br />
__pfx_perf_event_cpu_offline+0x10/0x10 [idxd]<br />
cpuhp_thread_fun+0x98/0x150<br />
smpboot_thread_fn+0x27/0x260<br />
smpboot_thread_fn+0x1af/0x260<br />
__pfx_smpboot_thread_fn+0x10/0x10<br />
kthread+0x103/0x140<br />
__pfx_kthread+0x10/0x10<br />
ret_from_fork+0x31/0x50<br />
__pfx_kthread+0x10/0x10<br />
ret_from_fork_asm+0x1b/0x30<br />
<br />
<br />
Fix the issue by preventing the migration of the perf context to an<br />
invalid target.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.13 (including) | 5.15.158 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.90 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.30 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.8.9 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.9:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc5:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/023b6390a15a98f9c3aa5e7da78d485d5384a08e
- https://git.kernel.org/stable/c/47533176fdcef17b114a6f688bc872901c1ec6bb
- https://git.kernel.org/stable/c/9edd3aa34d50f27b97be30b2ba4a6af0945ff56b
- https://git.kernel.org/stable/c/f221033f5c24659dc6ad7e5cf18fb1b075f4a8be
- https://git.kernel.org/stable/c/f976eca36cdf94e32fa4f865db0e7c427c9aa33c
- https://git.kernel.org/stable/c/023b6390a15a98f9c3aa5e7da78d485d5384a08e
- https://git.kernel.org/stable/c/47533176fdcef17b114a6f688bc872901c1ec6bb
- https://git.kernel.org/stable/c/9edd3aa34d50f27b97be30b2ba4a6af0945ff56b
- https://git.kernel.org/stable/c/f221033f5c24659dc6ad7e5cf18fb1b075f4a8be
- https://git.kernel.org/stable/c/f976eca36cdf94e32fa4f865db0e7c427c9aa33c



