nvdimm/btt: Handle preemption in BTT lane acquisition

Summary

CVECVE-2026-74365
StatePUBLISHED
AssignerLinux
Source PriorityCVE Program / NVD first with legacy fallback
Published2026-08-15 06:22:38 UTC
Updated2026-08-15 06:22:38 UTC
DescriptionIn 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.

Vendor Declared Affected Products

SourceVendorProductVersionPlatforms
CNA Linux Linux affected f23859748e3d530217b197e146a9ac84faf0a282 fd7a97b2514cfc4b4cc067a27dd39bde2a8b1735 git Not specified
CNA Linux Linux affected 6f50b414f1a0d790f11a6438a3ad6d0577eb2c18 73e35c1bdfa160b41fdbe204e02325f0687de506 git Not specified
CNA Linux Linux affected 36c75ce3bd299878fd9b238e9803d3817ddafbf3 417918783bcfe0be135019df16a267b3af442efd git Not specified
CNA Linux Linux affected 36c75ce3bd299878fd9b238e9803d3817ddafbf3 5c53406098b599c420b031e6ec5ba8a2f3794c50 git Not specified
CNA Linux Linux affected 36c75ce3bd299878fd9b238e9803d3817ddafbf3 4eafa810b042d985ec6bbf5b514414e73cee6f6f git Not specified
CNA Linux Linux affected 36c75ce3bd299878fd9b238e9803d3817ddafbf3 8d4b989d9c9afe5f185aa5853b666fc4617afe9e git Not specified
CNA Linux Linux affected 2577fece583c7c05cda7ad50dde7638c962665e1 git Not specified
CNA Linux Linux affected 40ba3fa21250e361bdd8f00800b3e2cb6160de95 git Not specified
CNA Linux Linux affected b0e7a935739f33ed2bd6868b89f97dd4c2683c26 git Not specified
CNA Linux Linux affected 66eb7b7f23dd9aec5356e7054dd3596ae7648ff5 git Not specified
CNA Linux Linux affected b27751fb1f271bbb78d5993c0b10011628e40e18 git Not specified
CNA Linux Linux affected 6.1.63 6.1.178 semver Not specified
CNA Linux Linux affected 6.6.2 6.6.145 semver Not specified
CNA Linux Linux affected 4.19.299 4.20 semver Not specified
CNA Linux Linux affected 5.4.261 5.5 semver Not specified
CNA Linux Linux affected 5.10.201 5.11 semver Not specified
CNA Linux Linux affected 5.15.139 5.16 semver Not specified
CNA Linux Linux affected 6.5.12 6.6 semver Not specified
CNA Linux Linux affected 6.7 Not specified
CNA Linux Linux unaffected 6.7 semver Not specified
CNA Linux Linux unaffected 6.1.178 6.1.* semver Not specified
CNA Linux Linux unaffected 6.6.145 6.6.* semver Not specified
CNA Linux Linux unaffected 6.12.97 6.12.* semver Not specified
CNA Linux Linux unaffected 6.18.40 6.18.* semver Not specified
CNA Linux Linux unaffected 7.1.5 7.1.* semver Not specified
CNA Linux Linux unaffected 7.2-rc1 * original_commit_for_fix Not specified

References

ReferenceSourceLinkTags
git.kernel.org/stable/c/5c53406098b599c420b031e6ec5ba8a2f3794c50 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/fd7a97b2514cfc4b4cc067a27dd39bde2a8b1735 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/417918783bcfe0be135019df16a267b3af442efd 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/4eafa810b042d985ec6bbf5b514414e73cee6f6f 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/73e35c1bdfa160b41fdbe204e02325f0687de506 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/8d4b989d9c9afe5f185aa5853b666fc4617afe9e 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

© CVE.report 2026

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report