CVE-2026-98161: nvdimm: pmem: keep PREFLUSH before data writes
In the Linux kernel, the following vulnerability has been resolved:
nvdimm: pmem: keep PREFLUSH before data writes
pmemsubmitbio() records a REQPREFLUSH error, but continues to copy the bio data and can later overwrite the error with a successful REQFUA flush. That lets data writes run after a failed preflush and can complete the bio successfully despite the failed ordering barrier.
Run the REQPREFLUSH flush synchronously before touching the bio data and complete the bio with the flush error if it fails. Keep asynchronous flush chaining for REQFUA. At that point, data copy has completed and the parent bio can wait for the chained flush bio.
Affected Software
Event History
Frequently Asked Questions
Which systems are exposed to this issue?
Systems using the Linux kernel pmem driver for NVDIMM persistent memory are exposed when they process I/O requests that include a REQ_PREFLUSH ordering barrier. The provided information does not identify affected kernel versions or configurations beyond use of this driver and request type.
What must happen for the flaw to affect an I/O operation?
The preflush must fail for a bio handled by pmem_submit_bio(). In the vulnerable behavior, the driver can still copy data after that failure and may later report success if a REQ_FUA flush succeeds.
How can administrators determine whether an operation may have been affected?
Look for failed REQ_PREFLUSH operations involving pmem I/O that were followed by data writes or ultimately completed successfully. The description does not provide specific log messages, detection commands, or indicators for identifying past occurrences.
What is the relevant remediation behavior?
The resolved behavior performs the REQ_PREFLUSH synchronously before copying bio data and completes the bio with the flush error if that preflush fails. REQ_FUA flush chaining remains asynchronous after data copying has completed.