๐Ÿ” CVE Alert

CVE-2024-58090

UNKNOWN 0.0

sched/core: Prevent rescheduling when interrupts are disabled

CVSS Score
0.0
EPSS Score
0.0%
EPSS Percentile
0th

In the Linux kernel, the following vulnerability has been resolved: sched/core: Prevent rescheduling when interrupts are disabled David reported a warning observed while loop testing kexec jump: Interrupts enabled after irqrouter_resume+0x0/0x50 WARNING: CPU: 0 PID: 560 at drivers/base/syscore.c:103 syscore_resume+0x18a/0x220 kernel_kexec+0xf6/0x180 __do_sys_reboot+0x206/0x250 do_syscall_64+0x95/0x180 The corresponding interrupt flag trace: hardirqs last enabled at (15573): [<ffffffffa8281b8e>] __up_console_sem+0x7e/0x90 hardirqs last disabled at (15580): [<ffffffffa8281b73>] __up_console_sem+0x63/0x90 That means __up_console_sem() was invoked with interrupts enabled. Further instrumentation revealed that in the interrupt disabled section of kexec jump one of the syscore_suspend() callbacks woke up a task, which set the NEED_RESCHED flag. A later callback in the resume path invoked cond_resched() which in turn led to the invocation of the scheduler: __cond_resched+0x21/0x60 down_timeout+0x18/0x60 acpi_os_wait_semaphore+0x4c/0x80 acpi_ut_acquire_mutex+0x3d/0x100 acpi_ns_get_node+0x27/0x60 acpi_ns_evaluate+0x1cb/0x2d0 acpi_rs_set_srs_method_data+0x156/0x190 acpi_pci_link_set+0x11c/0x290 irqrouter_resume+0x54/0x60 syscore_resume+0x6a/0x200 kernel_kexec+0x145/0x1c0 __do_sys_reboot+0xeb/0x240 do_syscall_64+0x95/0x180 This is a long standing problem, which probably got more visible with the recent printk changes. Something does a task wakeup and the scheduler sets the NEED_RESCHED flag. cond_resched() sees it set and invokes schedule() from a completely bogus context. The scheduler enables interrupts after context switching, which causes the above warning at the end. Quite some of the code paths in syscore_suspend()/resume() can result in triggering a wakeup with the exactly same consequences. They might not have done so yet, but as they share a lot of code with normal operations it's just a question of time. The problem only affects the PREEMPT_NONE and PREEMPT_VOLUNTARY scheduling models. Full preemption is not affected as cond_resched() is disabled and the preemption check preemptible() takes the interrupt disabled flag into account. Cure the problem by adding a corresponding check into cond_resched().

Vendor linux
Product linux
Ecosystems
Industries
Technology
Published Mar 27, 2025
Last Updated May 11, 2026
Stay Ahead of the Next One

Get instant alerts for linux linux

Be the first to know when new unknown vulnerabilities affecting linux linux are published โ€” delivered to Slack, Telegram or Discord.

Get Free Alerts โ†’ Free ยท No credit card ยท 60 sec setup

Affected Versions

Linux / Linux
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 321794b75ac968f0bb6b9c913581949452a8d992 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 1651f5731b378616565534eb9cda30e258cebebc 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 288fdb8dcb71ec77b76ab8b8a06bc10f595ea504 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 84586322e010164eedddfcd0a0894206ae7d9317 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 68786ab0935ccd5721283b7eb7f4d2f2942c7a52 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 0362847c520747b44b574d363705d8af0621727a 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < b927c8539f692fb1f9c2f42e6c8ea2d94956f921 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 82c387ef7568c0d96a918a5a78d9cad6256cfa15
Linux / Linux
2.6.12

References

NVD โ†— CVE.org โ†— EPSS Data โ†—
git.kernel.org: https://git.kernel.org/stable/c/321794b75ac968f0bb6b9c913581949452a8d992 git.kernel.org: https://git.kernel.org/stable/c/1651f5731b378616565534eb9cda30e258cebebc git.kernel.org: https://git.kernel.org/stable/c/288fdb8dcb71ec77b76ab8b8a06bc10f595ea504 git.kernel.org: https://git.kernel.org/stable/c/84586322e010164eedddfcd0a0894206ae7d9317 git.kernel.org: https://git.kernel.org/stable/c/68786ab0935ccd5721283b7eb7f4d2f2942c7a52 git.kernel.org: https://git.kernel.org/stable/c/0362847c520747b44b574d363705d8af0621727a git.kernel.org: https://git.kernel.org/stable/c/b927c8539f692fb1f9c2f42e6c8ea2d94956f921 git.kernel.org: https://git.kernel.org/stable/c/82c387ef7568c0d96a918a5a78d9cad6256cfa15 lists.debian.org: https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html lists.debian.org: https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html