Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2023-54089

virtio_pmem: add the missing REQ_OP_WRITE for flush bio

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • b4a6bb3a67aa0c37b2b6cd47efc326eb455de674 to < e39e870e1e683a71d3d2e63e661a5695f60931a7affected
  • b4a6bb3a67aa0c37b2b6cd47efc326eb455de674 to < c7ab7e45ccef209809f8c2b00f497deec06b29c0affected
  • b4a6bb3a67aa0c37b2b6cd47efc326eb455de674 to < c1dbd8a849183b9c12d257ad3043ecec50db50b3affected

Linux Linux

Default version status: affected

  • 6.3affected
  • 0 to < 6.3unaffected
  • 6.4.16 to ≤ 6.4.*unaffected
  • 6.5.3 to ≤ 6.5.*unaffected
  • 6.6 to ≤ *unaffected

References