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

smp: Make CSD lock acquisition atomic for debug mode

Commit b0473dcd4b1d ("smp: Improve smp_call_function_single()
CSD-lock diagnostics") changed smp_call_function_single() so that,
when CSD lock debugging is enabled, async !wait calls use the
destination CPU csd_data. That improves diagnostics, but it also removes
the single-writer property that made the old csd_lock() safe: multiple
CPUs can now prepare the same destination CPU CSD concurrently.

csd_lock() currently waits for CSD_FLAG_LOCK to clear and then sets the
bit with a non-atomic read-modify-write. Two senders can both see an
unlocked CSD, set the bit, overwrite the callback fields, and enqueue
the same llist node. Re-adding a node that is already the queue head can
make node->next point to itself, leaving the target CPU stuck walking
call_single_queue. Later synchronous work, such as a TLB shootdown, can
then remain queued and trigger soft-lockup warnings or panics.

Keep the single csd_lock() implementation, but when CSD lock debugging is
enabled, acquire CSD_FLAG_LOCK with try_cmpxchg_acquire(). This makes the
destination CPU CSD a real atomic lock in the only configuration where it
can be shared by multiple remote senders, while preserving the existing
non-debug fast path.
Published: 2026-08-12
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A race condition exists in the Linux kernel’s CSD lock handling when debug mode is enabled. The non‑atomic setting of the csd_flag allows multiple CPUs to concurrently observe an unlocked state, set the flag, and overwrite each other’s callback fields. This can result in an enqueue of duplicate llist nodes, creating a circular reference that blocks the target CPU while walking the call_single_queue. Subsequent synchronous work such as a TLB shootdown may remain queued, triggering soft‑lockup warnings or kernel panics. The flaw therefore permits an attacker to destabilize the system, although it does not provide direct code execution.

Affected Systems

The vulnerability affects the Linux kernel when CSD lock debugging is enabled. The specific vendor and product are Linux:Linux. Affected kernel versions are those that contain the old non‑atomic csd_lock implementation; any kernel build without the fix commit (b0473dcd4b1d) is at risk. No exact version range is documented, so any distribution using a kernel older than the fix compiled with CSD lock debugging on should be considered vulnerable.

Risk and Exploitability

The CVSS score of 5.5 signals a medium severity, while the EPSS score is less than 1% indicating a low probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. Exploitation would require triggering CSD lock debugging or relying on it being enabled, and provoking concurrent remote senders to target the same CPU. Although the impact is severe – a kernel panic or lockup – the practical attack surface appears limited to hosts running with CSD lock debugging enabled. Nevertheless, immediate mitigation is recommended due to the potential for denial of service.

Generated by OpenCVE AI on August 13, 2026 at 13:59 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes commit b0473dcd4b1d, ensuring the CSD lock acquisition is atomic during debug mode.
  • Verify that CSD lock debugging is disabled on production systems by clearing the relevant kernel configuration or sysctl parameter if present.
  • If an upgrade is not immediately possible, monitor system logs for CSD lock debug messages and take corrective action such as restarting services or rebooting when soft‑lockup warnings appear.

Generated by OpenCVE AI on August 13, 2026 at 13:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-821
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: smp: Make CSD lock acquisition atomic for debug mode Commit b0473dcd4b1d ("smp: Improve smp_call_function_single() CSD-lock diagnostics") changed smp_call_function_single() so that, when CSD lock debugging is enabled, async !wait calls use the destination CPU csd_data. That improves diagnostics, but it also removes the single-writer property that made the old csd_lock() safe: multiple CPUs can now prepare the same destination CPU CSD concurrently. csd_lock() currently waits for CSD_FLAG_LOCK to clear and then sets the bit with a non-atomic read-modify-write. Two senders can both see an unlocked CSD, set the bit, overwrite the callback fields, and enqueue the same llist node. Re-adding a node that is already the queue head can make node->next point to itself, leaving the target CPU stuck walking call_single_queue. Later synchronous work, such as a TLB shootdown, can then remain queued and trigger soft-lockup warnings or panics. Keep the single csd_lock() implementation, but when CSD lock debugging is enabled, acquire CSD_FLAG_LOCK with try_cmpxchg_acquire(). This makes the destination CPU CSD a real atomic lock in the only configuration where it can be shared by multiple remote senders, while preserving the existing non-debug fast path.
Title smp: Make CSD lock acquisition atomic for debug mode
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:05:35.262Z

Reserved: 2026-07-30T09:28:09.394Z

Link: CVE-2026-68438

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-12T00:17:44.013

Modified: 2026-08-17T06:17:52.890

Link: CVE-2026-68438

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-12T00:00:00Z

Links: CVE-2026-68438 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T14:00:04Z

Weaknesses
  • CWE-821

    Incorrect Synchronization