UBUNTU-CVE-2024-35989
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.
02 / AFFECTED SOFTWARE
Affected packages
6 explicit affected versions
4 explicit affected versions
2 explicit affected versions
1 explicit affected versions
5 explicit affected versions
12 explicit affected versions
27 explicit affected versions
5 explicit affected versions
8 explicit affected versions
10 explicit affected versions
12 explicit affected versions
10 explicit affected versions
3 explicit affected versions
11 explicit affected versions
31 explicit affected versions
45 explicit affected versions
50 explicit affected versions
2 explicit affected versions
12 explicit affected versions
19 explicit affected versions
6 explicit affected versions
54 explicit affected versions
8 explicit affected versions
40 explicit affected versions
51 explicit affected versions
40 explicit affected versions
10 explicit affected versions
12 explicit affected versions
1 explicit affected versions
7 explicit affected versions
47 explicit affected versions
7 explicit affected versions
46 explicit affected versions
13 explicit affected versions
4 explicit affected versions
35 explicit affected versions
7 explicit affected versions
14 explicit affected versions
18 explicit affected versions
9 explicit affected versions
34 explicit affected versions
7 explicit affected versions
13 explicit affected versions
23 explicit affected versions
11 explicit affected versions
21 explicit affected versions
16 explicit affected versions
10 explicit affected versions
9 explicit affected versions
7 explicit affected versions
38 explicit affected versions
12 explicit affected versions
14 explicit affected versions
7 explicit affected versions
13 explicit affected versions
12 explicit affected versions
2 explicit affected versions
10 explicit affected versions
3 explicit affected versions
37 explicit affected versions
1 explicit affected versions
26 explicit affected versions
13 explicit affected versions
6 explicit affected versions
29 explicit affected versions
13 explicit affected versions
51 explicit affected versions
1 explicit affected versions
2 explicit affected versions
49 explicit affected versions
11 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
1 explicit affected versions
10 explicit affected versions
11 explicit affected versions
12 explicit affected versions
7 explicit affected versions
12 explicit affected versions
39 explicit affected versions
32 explicit affected versions
48 explicit affected versions
10 explicit affected versions
26 explicit affected versions
9 explicit affected versions
1 explicit affected versions
2 explicit affected versions
10 explicit affected versions
13 explicit affected versions
9 explicit affected versions
16 explicit affected versions
51 explicit affected versions
10 explicit affected versions
40 explicit affected versions
2 explicit affected versions
51 explicit affected versions
7 explicit affected versions
12 explicit affected versions
37 explicit affected versions
27 explicit affected versions
23 explicit affected versions
3 explicit affected versions
8 explicit affected versions
12 explicit affected versions
6 explicit affected versions
13 explicit affected versions
13 explicit affected versions
7 explicit affected versions
43 explicit affected versions
26 explicit affected versions
12 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
37 explicit affected versions
37 explicit affected versions
10 explicit affected versions
14 explicit affected versions
11 explicit affected versions
38 explicit affected versions
40 explicit affected versions
9 explicit affected versions
40 explicit affected versions
48 explicit affected versions
7 explicit affected versions
21 explicit affected versions
4 explicit affected versions
1 explicit affected versions
46 explicit affected versions
13 explicit affected versions
43 explicit affected versions
10 explicit affected versions
8 explicit affected versions
14 explicit affected versions
4 explicit affected versions
11 explicit affected versions
1 explicit affected versions
3 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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.
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/f221033f5c24659dc6ad7e5cf18fb1b075f4a8be
- 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://ubuntu.com/security/CVE-2024-35989
- https://ubuntu.com/security/notices/USN-6898-1
- https://ubuntu.com/security/notices/USN-6898-2
- https://ubuntu.com/security/notices/USN-6898-3
- https://ubuntu.com/security/notices/USN-6898-4
- https://ubuntu.com/security/notices/USN-6917-1
- https://ubuntu.com/security/notices/USN-6919-1
- https://ubuntu.com/security/notices/USN-6927-1
- https://ubuntu.com/security/notices/USN-6949-1
- https://ubuntu.com/security/notices/USN-6949-2
- https://ubuntu.com/security/notices/USN-6952-1
- https://ubuntu.com/security/notices/USN-6952-2
- https://ubuntu.com/security/notices/USN-6955-1
- https://ubuntu.com/security/notices/USN-7019-1
- https://www.cve.org/CVERecord?id=CVE-2024-35989