CVE-2026-89549

High

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().

SeverityHigh
CVSS7.5
Exploit probability—
ProductLinux
PublishedSep 11, 2026
First seenSep 11, 2026

How to fix

Update
  • Linux Linux9accc25e5af0bac8479f6054e674b2c593c45281, 6f66d38e2a6c78d48723ea17ad86135ec80ca24b, d79d7b9e8acbb53e2d60f6b24afc13e2f15e691f, edb20e8c03aebacb409968c99d046f509c6c485a, 011479cf9a7657d4a3e7cc42a784ac63df594170, 9d04d64ad192439835ed9884d767353061c3ed6f, 8f766d2d0b4dabf54f8b35812df2b4f481d13316, f6310491c4cdb88af73aa551ec9df1f10a90c709 or later

Affected products

ProductAffected versionsFixed in
Linux Linuxbfd241600a3b0db4fe43c859f1460d0a958d924a ≤ v < 9accc25e5af0bac8479f6054e674b2c593c45281, bfd241600a3b0db4fe43c859f1460d0a958d924a ≤ v < 6f66d38e2a6c78d48723ea17ad86135ec80ca24b, bfd241600a3b0db4fe43c859f1460d0a958d924a ≤ v < d79d7b9e8acbb53e2d60f6b24afc13e2f15e691f, bfd241600a3b0db4fe43c859f1460d0a958d924a ≤ v < edb20e8c03aebacb409968c99d046f509c6c485a, bfd241600a3b0db4fe43c859f1460d0a958d924a ≤ v < 011479cf9a7657d4a3e7cc42a784ac63df594170, bfd241600a3b0db4fe43c859f1460d0a958d924a ≤ v < 9d04d64ad192439835ed9884d767353061c3ed6f, bfd241600a3b0db4fe43c859f1460d0a958d924a ≤ v < 8f766d2d0b4dabf54f8b35812df2b4f481d13316, bfd241600a3b0db4fe43c859f1460d0a958d924a ≤ v < f6310491c4cdb88af73aa551ec9df1f10a90c709, 2.6.199accc25e5af0bac8479f6054e674b2c593c45281, 6f66d38e2a6c78d48723ea17ad86135ec80ca24b, d79d7b9e8acbb53e2d60f6b24afc13e2f15e691f, edb20e8c03aebacb409968c99d046f509c6c485a, 011479cf9a7657d4a3e7cc42a784ac63df594170, 9d04d64ad192439835ed9884d767353061c3ed6f, 8f766d2d0b4dabf54f8b35812df2b4f481d13316, f6310491c4cdb88af73aa551ec9df1f10a90c709

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.