CVE Database›CVE-2025-21832

CVE-2025-21832

kernel: block: don't revert iter for -EIOCBQUEUED

Loading…

Severity

Low

Red Hat Product Security

4.4

CVSS 3.1

Review impact separately from score.

Published · March 6, 2025

Updated · October 17, 2026

Description

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

block: don't revert iter for -EIOCBQUEUED

blkdev_read_iter() has a few odd checks, like gating the position and count adjustment on whether or not the result is bigger-than-or-equal to zero (where bigger than makes more sense), and not checking the return value of blkdev_direct_IO() before doing an iov_iter_revert(). The latter can lead to attempting to revert with a negative value, which when passed to iov_iter_revert() as an unsigned value will lead to throwing a WARN_ON() because unroll is bigger than MAX_RW_COUNT.

Be sane and don't revert for -EIOCBQUEUED, like what is done in other spots.

Statement

A flaw in the Linux kernel block layer was rated by Red Hat Product Security as having LOW impact. In blkdev_read_iter(), the return value of blkdev_direct_IO() was not checked before calling iov_iter_revert(); when the direct I/O returns -EIOCBQUEUED, the negative error value is interpreted as a large unsigned revert count, which triggers a WARN_ON() in iov_iter_revert() because the unroll size is bigger than MAX_RW_COUNT. The verified consequence is a kernel warning triggered by a local user with high privileges performing asynchronous direct reads on a block device; the flaw does not affect confidentiality or integrity and does not cause memory corruption. For this reason Red Hat's severity differs from the CVE.org rating of IMPORTANT (CVSS 7.8), which assumes high confidentiality and integrity impact, whereas the Red Hat assessment (CVSS 4.4, AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H) reflects a warning-only, availability-related defect that requires privileged local access to trigger. Red Hat Enterprise Linux 6, 7, and 8, including their kernel-rt builds, are not affected because the vulnerable code is not present in those kernels. The Red Hat Enterprise Linux 9, Red Hat Enterprise Linux 10, and Red Hat In-Vehicle OS 1 kernels contain the vulnerable code and are marked affected with the fix deferred, because the issue is a low-impact warning-only defect; the residual risk of the deferral is limited to a kernel WARN_ON being logged when privileged asynchronous direct block reads are issued, with no impact on confidentiality, integrity, or system availability beyond the warning message.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

CVSS / CWE

CVSS 3.1 · 4.4
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H

CWE-252 · Unchecked Return Value