CVE-2026-64211: srcu: Don't queue workqueue handlers to never-online CPUs

Greg Kroah-Hartman <[email protected]> Fri, 24 Jul 2026 17:23:14 +0200
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026072414-CVE-2026-64211-f6d4@gregkh>
From: Greg Kroah-Hartman <[email protected]>

Description
===========

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

srcu: Don't queue workqueue handlers to never-online CPUs

While an srcu_struct structure is in the midst of switching from CPU-0
to all-CPUs state, it can attempt to invoke callbacks for CPUs that
have never been online.  Worse yet, it can attempt in invoke callbacks
for CPUs that never will be online, even including imaginary CPUs not in
cpu_possible_mask.  This can cause hangs on s390, which is not set up to
deal with workqueue handlers being scheduled on such CPUs.  This commit
therefore causes Tree SRCU to refrain from queueing workqueue handlers
on CPUs that have not yet (and might never) come online.

Because callbacks are not invoked on CPUs that have not been
online, it is an error to invoke call_srcu(), synchronize_srcu(), or
synchronize_srcu_expedited() on a CPU that is not yet fully online.
However, it turns out to be less code to redirect the callbacks
from too-early invocations of call_srcu() than to warn about such
invocations.  This commit therefore also redirects callbacks queued on
not-yet-fully-online CPUs to the boot CPU.

The Linux kernel CVE team has assigned CVE-2026-64211 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 7.0 with commit 61bbcfb50514a8a94e035a7349697a3790ab4783 and fixed in 7.0.11 with commit a4153538fcd2361c4e0039eb103265492d26044e
	Issue introduced in 7.0 with commit 61bbcfb50514a8a94e035a7349697a3790ab4783 and fixed in 7.1 with commit 593889c401426004bd0ea0f6d4fcece728b03420

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-64211
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	kernel/rcu/srcutree.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/a4153538fcd2361c4e0039eb103265492d26044e
	https://git.kernel.org/stable/c/593889c401426004bd0ea0f6d4fcece728b03420