CVE-2026-43115: srcu: Use irq_work to start GP in tiny SRCU
In the Linux kernel, the following vulnerability has been resolved:
srcu: Use irqwork to start GP in tiny SRCU
Tiny SRCU's srcugpstartifneeded() directly calls schedulework(), which acquires the workqueue pool->lock.
This causes a lockdep splat when callsrcu() is called with a scheduler lock held, due to:
callsrcu() [holding pilock] srcugpstartifneeded() schedulework() -> pool->lock
workqueueinit() / createworker() [holding pool->lock] wakeupprocess() -> trytowakeup() -> pilock
Also add irqworksync() to cleanupsrcustruct() to prevent a use-after-free if a queued irqwork fires after cleanup begins.
Tested with rcutorture SRCU-T and no lockdep warnings.
[ Thanks to Boqun for similar fix in patch "rcu: Use an intermediate irqwork to start processsrcu()" ]
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-43115?
CVE-2026-43115 has been rated as a medium severity vulnerability in the Linux kernel.
How do I fix CVE-2026-43115?
To fix CVE-2026-43115, update your Linux kernel to version 6.19.14 or later.
What impact does CVE-2026-43115 have on affected systems?
CVE-2026-43115 may lead to a potential denial of service due to improper handling of workqueue locks.
Which versions of the Linux kernel are affected by CVE-2026-43115?
CVE-2026-43115 affects Linux kernel versions between 4.12 and 6.19.14, as well as 7.0-rc1 through 7.0-rc5.
Is there an official patch for CVE-2026-43115?
Yes, kernel developers have released patches that address CVE-2026-43115, included in the latest kernel updates.