CVE-2024-35989: dmaengine: idxd: Fix oops during rmmod on single-CPU platforms

Published May 20, 2024
·
Updated

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: errorcode(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:mutexlock+0x2e/0x50 ... Call Trace: die+0x24/0x70 pagefaultoops+0x82/0x160 douseraddrfault+0x65/0x6b0 pfxrdmsrsafeoncpu+0x10/0x10 excpagefault+0x7d/0x170 asmexcpagefault+0x26/0x30 mutexlock+0x2e/0x50 mutexlock+0x1e/0x50 perfpmumigratecontext+0x87/0x1f0 perfeventcpuoffline+0x76/0x90 [idxd] cpuhpinvokecallback+0xa2/0x4f0 pfxperfeventcpuoffline+0x10/0x10 [idxd] cpuhpthreadfun+0x98/0x150 smpbootthreadfn+0x27/0x260 smpbootthreadfn+0x1af/0x260 pfxsmpbootthreadfn+0x10/0x10 kthread+0x103/0x140 pfxkthread+0x10/0x10 retfromfork+0x31/0x50 pfxkthread+0x10/0x10 retfromforkasm+0x1b/0x30

Fix the issue by preventing the migration of the perf context to an invalid target.

Other sources

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: errorcode(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:mutexlock+0x2e/0x50 ... Call Trace: <TASK> die+0x24/0x70 pagefaultoops+0x82/0x160 douseraddrfault+0x65/0x6b0 pfxrdmsrsafeoncpu+0x10/0x10 excpagefault+0x7d/0x170 asmexcpagefault+0x26/0x30 mutexlock+0x2e/0x50 mutexlock+0x1e/0x50 perfpmumigratecontext+0x87/0x1f0 perfeventcpuoffline+0x76/0x90 [idxd] cpuhpinvokecallback+0xa2/0x4f0 pfxperfeventcpuoffline+0x10/0x10 [idxd] cpuhpthreadfun+0x98/0x150 smpbootthreadfn+0x27/0x260 smpbootthreadfn+0x1af/0x260 pfxsmpbootthreadfn+0x10/0x10 kthread+0x103/0x140 pfxkthread+0x10/0x10 retfromfork+0x31/0x50 pfxkthread+0x10/0x10 retfromforkasm+0x1b/0x30 <TASK>

Fix the issue by preventing the migration of the perf context to an invalid target.

NVD

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

dmaengine: idxd: Fix oops during rmmod on single-CPU platforms

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

Upstream advisory: https://lore.kernel.org/linux-cve-announce/2024052020-CVE-2024-35989-c5da@gregkh/T

Red Hat

Affected Software

19 affected componentsFixes available
redhat/kernel<5.15.158
5.15.158
redhat/kernel<6.1.90
6.1.90
redhat/kernel<6.6.30
6.6.30
redhat/kernel<6.8.9
6.8.9
redhat/kernel<6.9
6.9
Linux Linux kernel>=5.13<5.15.158
Linux Linux kernel>=5.16<6.1.90
Linux Linux kernel>=6.2<6.6.30
Linux Linux kernel>=6.7<6.8.9
Linux Linux kernel=6.9-rc1
Linux Linux kernel=6.9-rc2
Linux Linux kernel=6.9-rc3
Linux Linux kernel=6.9-rc4
Linux Linux kernel=6.9-rc5
IBM Security Verify Governance<=ISVG 10.0.2
IBM Security Verify Governance, Identity Manager Software Stack<=ISVG 10.0.2
IBM Security Verify Governance, Identity Manager Virtual Appliance<=ISVG 10.0.2
IBM Security Verify Governance Identity Manager Container<=ISVG 10.0.2
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.25-16.12.27-1

Event History

May 20, 2024
CVE Published
via MITRE·09:47 AM
Data Sourced
via MITRE·09:47 AM
Description
Data Sourced
via Red Hat·03:59 PM
DescriptionSeverityAffected Software
Jul 15, 2024
Data Sourced
via Launchpad·05:02 PM
Description
Apr 27, 2025
Data Sourced
via Ubuntu·12:25 AM
RemedyDescriptionSeverityAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2024-35989?

CVE-2024-35989 has a medium severity rating affecting single-CPU Linux systems during idxd driver removal.

2

How do I fix CVE-2024-35989?

To fix CVE-2024-35989, update your kernel to one of the patched versions: 5.15.158, 6.1.90, 6.6.30, 6.8.9, 6.9, or applicable Debian versions.

3

Which systems are affected by CVE-2024-35989?

CVE-2024-35989 affects Linux systems with one CPU that utilize the idxd driver.

4

What causes the vulnerability CVE-2024-35989?

CVE-2024-35989 is caused by an oops error during the removal of the idxd driver, specifically due to callback issues on single-CPU platforms.

5

Is CVE-2024-35989 exploitable?

CVE-2024-35989 is not directly exploitable from a remote perspective but poses risks during specific driver removal processes.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203