CVE-2024-35989: dmaengine: idxd: Fix oops during rmmod on single-CPU platforms
In the Linux kernel, the following vulnerability has been resolved:
dmaengine: idxd: Fix oops during rmmod on single-CPU platforms
During the removal of the idxd driver, registered offline callback is
invoked as part of the clean up process. However, on systems with only
one CPU online, no valid target is available to migrate the
perf context, resulting in a kernel oops:
BUG: unable to handle page fault for address: 000000000002a2b8
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 1470e1067 P4D 0
Oops: 0002 [#1] PREEMPT SMP NOPTI
CPU: 0 PID: 20 Comm: cpuhp/0 Not tainted 6.8.0-rc6-dsa+ #57
Hardware name: Intel Corporation AvenueCity/AvenueCity, BIOS BHSDCRB1.86B.2492.D03.2307181620 07/18/2023
RIP: 0010:mutex_lock+0x2e/0x50
...
Call Trace:
<TASK>
__die+0x24/0x70
page_fault_oops+0x82/0x160
do_user_addr_fault+0x65/0x6b0
__pfx___rdmsr_safe_on_cpu+0x10/0x10
exc_page_fault+0x7d/0x170
asm_exc_page_fault+0x26/0x30
mutex_lock+0x2e/0x50
mutex_lock+0x1e/0x50
perf_pmu_migrate_context+0x87/0x1f0
perf_event_cpu_offline+0x76/0x90 [idxd]
cpuhp_invoke_callback+0xa2/0x4f0
__pfx_perf_event_cpu_offline+0x10/0x10 [idxd]
cpuhp_thread_fun+0x98/0x150
smpboot_thread_fn+0x27/0x260
smpboot_thread_fn+0x1af/0x260
__pfx_smpboot_thread_fn+0x10/0x10
kthread+0x103/0x140
__pfx_kthread+0x10/0x10
ret_from_fork+0x31/0x50
__pfx_kthread+0x10/0x10
ret_from_fork_asm+0x1b/0x30
<TASK>
Fix the issue by preventing the migration of the perf context to an
invalid target.
Security readout for executives and security teams
Plain-English summary
CVE-2024-35989 is a Linux kernel availability issue in the idxd DMA engine driver. On systems with only one CPU online, removing the driver can trigger a kernel oops, potentially crashing the system. The issue is local and availability-focused, not a data theft vulnerability.
Executive priority
Treat as a moderate operational stability issue. Prioritize patching where Linux systems use idxd or run constrained CPU configurations. It is less urgent than remotely exploitable flaws, but outages on critical hosts could create business impact.
Technical view
The idxd driver’s removal path invokes a CPU offline callback. On single-CPU-online systems, perf context migration can select an invalid target, causing a kernel page fault in kernel mode. The kernel fix prevents migration to an invalid target. CVSS is 5.5: local access, low complexity, low privileges, high availability impact.
Likely exposure
Exposure is most relevant to Linux systems using the idxd driver, especially configurations where only one CPU is online. The source bundle identifies Linux kernel affected version data and stable kernel commits, but exact distro package status must be confirmed with the relevant vendor.
Exploitation context
No active exploitation is reported in the provided sources, and this CVE is not marked KEV. The described trigger is local driver removal on specific CPU conditions. The practical risk is denial of service through a kernel crash, not remote compromise.
Researcher notes
The evidence describes a kernel oops during idxd rmmod on single-CPU platforms. The fix logic is narrowly scoped to preventing invalid perf context migration. The provided data does not establish remote reachability, confidentiality impact, integrity impact, or exploitation in the wild.
Mitigation direction
Update to a Linux kernel containing the referenced stable fixes.
Check your Linux distribution advisory for exact fixed package versions.
Prioritize systems using the idxd driver or single-CPU-online configurations.
Avoid unnecessary idxd driver removal on production systems until patched.
Validation and detection
Inventory Linux hosts and kernel versions.
Check whether the idxd driver is present or in use.
Confirm installed kernel includes the referenced stable commit for its branch.
Review vendor advisories for backported fixes in distro kernels.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-35989 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.