CVE-2023-54089
Unknown Unknown - Not Provided
Missing REQ_OP_WRITE Flush Bio Causes Data Integrity Issue in Linux virtio_pmem

Publication date: 2025-12-24

Last updated on: 2025-12-24

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: virtio_pmem: add the missing REQ_OP_WRITE for flush bio When doing mkfs.xfs on a pmem device, the following warning was ------------[ cut here ]------------ WARNING: CPU: 2 PID: 384 at block/blk-core.c:751 submit_bio_noacct Modules linked in: CPU: 2 PID: 384 Comm: mkfs.xfs Not tainted 6.4.0-rc7+ #154 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:submit_bio_noacct+0x340/0x520 ...... Call Trace: <TASK> ? submit_bio_noacct+0xd5/0x520 submit_bio+0x37/0x60 async_pmem_flush+0x79/0xa0 nvdimm_flush+0x17/0x40 pmem_submit_bio+0x370/0x390 __submit_bio+0xbc/0x190 submit_bio_noacct_nocheck+0x14d/0x370 submit_bio_noacct+0x1ef/0x520 submit_bio+0x55/0x60 submit_bio_wait+0x5a/0xc0 blkdev_issue_flush+0x44/0x60 The root cause is that submit_bio_noacct() needs bio_op() is either WRITE or ZONE_APPEND for flush bio and async_pmem_flush() doesn't assign REQ_OP_WRITE when allocating flush bio, so submit_bio_noacct just fail the flush bio. Simply fix it by adding the missing REQ_OP_WRITE for flush bio. And we could fix the flush order issue and do flush optimization later.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-12-24
Last Modified
2025-12-24
Generated
2026-05-07
AI Q&A
2025-12-24
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel 6.4.0-rc7
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability in the Linux kernel's virtio_pmem driver is due to a missing REQ_OP_WRITE flag when allocating a flush bio during asynchronous persistent memory flush operations. Specifically, the function async_pmem_flush() does not assign the required REQ_OP_WRITE operation code for flush bio, causing submit_bio_noacct() to fail the flush bio. This leads to warnings and potential issues with flush order and optimization when performing operations like mkfs.xfs on a pmem device. The fix involves adding the missing REQ_OP_WRITE flag to ensure proper flush bio handling.


How can this vulnerability impact me? :

This vulnerability can cause flush bio operations to fail, which may lead to improper flushing of persistent memory devices. This can result in data integrity issues, such as data not being properly written or ordered on pmem devices, potentially causing data loss or corruption during filesystem operations like mkfs.xfs.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability is fixed by adding the missing REQ_OP_WRITE flag for flush bio in the Linux kernel's virtio_pmem driver. To mitigate this vulnerability, you should update your Linux kernel to a version that includes this fix (post 6.4.0-rc7+).


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart