CVE-2023-54089

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-54089
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54089.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-54089
Downstream
Published
2025-12-24T13:06:18.904Z
Modified
2025-12-29T12:10:29.794548Z
Summary
virtio_pmem: add the missing REQ_OP_WRITE for flush bio
Details

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

virtiopmem: add the missing REQOP_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 submitbionoacct 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:submitbionoacct+0x340/0x520 ...... Call Trace: <TASK> ? submitbionoacct+0xd5/0x520 submitbio+0x37/0x60 asyncpmemflush+0x79/0xa0 nvdimmflush+0x17/0x40 pmemsubmitbio+0x370/0x390 _submitbio+0xbc/0x190 submitbionoacctnocheck+0x14d/0x370 submitbionoacct+0x1ef/0x520 submitbio+0x55/0x60 submitbiowait+0x5a/0xc0 blkdevissueflush+0x44/0x60

The root cause is that submitbionoacct() needs bioop() is either WRITE or ZONEAPPEND for flush bio and asyncpmemflush() doesn't assign REQOPWRITE when allocating flush bio, so submitbionoacct just fail the flush bio.

Simply fix it by adding the missing REQOPWRITE for flush bio. And we could fix the flush order issue and do flush optimization later.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54089.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b4a6bb3a67aa0c37b2b6cd47efc326eb455de674
Fixed
e39e870e1e683a71d3d2e63e661a5695f60931a7
Fixed
c7ab7e45ccef209809f8c2b00f497deec06b29c0
Fixed
c1dbd8a849183b9c12d257ad3043ecec50db50b3

Affected versions

v6.*

v6.2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.4
v6.4-rc1
v6.4-rc2
v6.4-rc3
v6.4-rc4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.4.1
v6.4.10
v6.4.11
v6.4.12
v6.4.13
v6.4.14
v6.4.15
v6.4.2
v6.4.3
v6.4.4
v6.4.5
v6.4.6
v6.4.7
v6.4.8
v6.4.9
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.5.1
v6.5.2

Database specific

source

"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54089.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.3.0
Fixed
6.4.16
Type
ECOSYSTEM
Events
Introduced
6.5.0
Fixed
6.5.3

Database specific

source

"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54089.json"