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.

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:*:*:*:*:*:*