sunrpc: route to a populated pool in svc_pool_for_cpu()
Summary
| CVE | CVE-2026-89549 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-11 20:19:38 UTC |
| Updated | 2026-09-11 20:19:38 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
sunrpc: route to a populated pool in svc_pool_for_cpu()
svc_set_num_threads() spreads the requested threads evenly across the
service's pools (base = nrservs / sv_nrpools). When a service runs
fewer threads than it has pools -- e.g. an nfsd configured with fewer
threads than the host has NUMA nodes while running in "pernode" or
"percpu" mode -- the trailing pools are left with no threads at all.
svc_xprt_enqueue() selects a pool from the CPU servicing the transport,
queues the transport on that pool's sp_xprts, and only wakes a thread
from the same pool. Each thread services exclusively its own pool, so a
transport that lands on a threadless pool is enqueued on sp_xprts and
never picked up: the connection hangs indefinitely.
Have svc_pool_for_cpu() skip pools that currently have no threads,
falling back to the next populated pool. This trades NUMA locality for
a guarantee that the work is actually serviced. sp_nrthreads is only
updated under the service mutex; the lockless read here is a best-effort
routing hint, so annotate it with data_race(). |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected bfd241600a3b0db4fe43c859f1460d0a958d924a 011479cf9a7657d4a3e7cc42a784ac63df594170 git |
Not specified |
| CNA |
Linux |
Linux |
affected bfd241600a3b0db4fe43c859f1460d0a958d924a 9d04d64ad192439835ed9884d767353061c3ed6f git |
Not specified |
| CNA |
Linux |
Linux |
affected bfd241600a3b0db4fe43c859f1460d0a958d924a 8f766d2d0b4dabf54f8b35812df2b4f481d13316 git |
Not specified |
| CNA |
Linux |
Linux |
affected bfd241600a3b0db4fe43c859f1460d0a958d924a f6310491c4cdb88af73aa551ec9df1f10a90c709 git |
Not specified |
| CNA |
Linux |
Linux |
affected 2.6.19 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 2.6.19 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.109 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.50 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.4 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3-rc1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/f6310491c4cdb88af73aa551ec9df1f10a90c709 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/9d04d64ad192439835ed9884d767353061c3ed6f |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/011479cf9a7657d4a3e7cc42a784ac63df594170 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/8f766d2d0b4dabf54f8b35812df2b4f481d13316 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.