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

nvdimm/btt: Handle preemption in BTT lane acquisition

BTT lanes serialize access to per-lane metadata and workspace state
during BTT I/O. The btt-check unit test reports data mismatches during
BTT writes due to a race in lane acquisition that can lead to silent
data corruption.

The existing lane model uses a spinlock together with a per-CPU
recursion count. That recursion model stopped being valid after BTT
lanes became preemptible: another task can run on the same CPU,
observe a non-zero recursion count, bypass locking, and use the same
lane concurrently.

BTT lanes are also held across arena_write_bytes() calls. That path
reaches nsio_rw_bytes(), which flushes writes with nvdimm_flush().
Some provider flush callbacks can sleep, making a spinlock the wrong
primitive for the lane lifetime.

Replace the spinlock-based recursion model with a dynamically
allocated per-lane mutex array and take the lane lock
unconditionally.

Add might_sleep() to catch any future atomic-context caller.

Found with the ndctl unit test btt-check.sh.
Published: 2026-08-15
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a race condition in the Linux kernel’s BTT (Block Translation Table) subsystem that occurs when a task is preempted while acquiring a lane. The legacy spinlock and per‑CPU recursion counter are no longer valid after BTT lanes became preemptible, allowing a second task to observe a non‑zero recursion count, bypass the lock, and access the same lane concurrently. This can result in silent data corruption during BTT writes, potentially compromising the integrity of data stored in non‑volatile memory devices.

Affected Systems

All users of the Linux kernel that support the BTT subsystem are affected. No specific kernel version range is supplied, but the issue applies to any kernel where BTT lanes are preemptible and the lane model uses the legacy spinlock mutex. It is implied that devices using the nvdimm interface are at risk.

Risk and Exploitability

The CVSS score of 7.3 and an EPSS score of < 1% indicate a moderate severity but a low exploitation probability. The vulnerability is not listed in CISA KEV. Based on the description, it is inferred that the attack requires local privileged execution to load a vulnerable kernel. Because the flaw manifests only when a preemption occurs during lane acquisition, the exploitation window is narrow and likely unlikely to be abused in the wild. Nevertheless, the consequence is significant data corruption, so the risk is considered low to moderate, contingent on an attacker’s ability to trigger the race during normal kernel operation. The vulnerability is not publicly exploited yet and has no known external exploits.

Generated by OpenCVE AI on August 22, 2026 at 01:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to the latest stable release that contains the patch resolving the race condition in BTT lane acquisition.
  • If an immediate kernel update is not possible, consider switching to a non‑preemptible kernel or disabling the BTT subsystem on affected hardware until the fix is applied.
  • Monitor system logs for BTT race errors, and run the ndctl unit test ‘btt-check.sh’ to detect ongoing corruption on deployed devices.

Generated by OpenCVE AI on August 22, 2026 at 01:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 00:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Fri, 21 Aug 2026 00:15:00 +0000

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

None

threat_severity

Moderate


Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sat, 15 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Sat, 15 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nvdimm/btt: Handle preemption in BTT lane acquisition BTT lanes serialize access to per-lane metadata and workspace state during BTT I/O. The btt-check unit test reports data mismatches during BTT writes due to a race in lane acquisition that can lead to silent data corruption. The existing lane model uses a spinlock together with a per-CPU recursion count. That recursion model stopped being valid after BTT lanes became preemptible: another task can run on the same CPU, observe a non-zero recursion count, bypass locking, and use the same lane concurrently. BTT lanes are also held across arena_write_bytes() calls. That path reaches nsio_rw_bytes(), which flushes writes with nvdimm_flush(). Some provider flush callbacks can sleep, making a spinlock the wrong primitive for the lane lifetime. Replace the spinlock-based recursion model with a dynamically allocated per-lane mutex array and take the lane lock unconditionally. Add might_sleep() to catch any future atomic-context caller. Found with the ndctl unit test btt-check.sh.
Title nvdimm/btt: Handle preemption in BTT lane acquisition
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:46:24.251Z

Reserved: 2026-08-15T05:44:03.888Z

Link: CVE-2026-74365

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:38.143

Modified: 2026-08-17T06:19:31.297

Link: CVE-2026-74365

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-74365 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T01:30:17Z

Weaknesses
  • CWE-366

    Race Condition within a Thread