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.
Metrics
Affected Vendors & Products
| Source | ID | Title | 
|---|---|---|
|  Debian DLA | DLA-4102-1 | linux-6.1 security update | 
|  EUVD | EUVD-2025-6213 | 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. | 
|  Ubuntu USN | USN-7521-1 | Linux kernel vulnerabilities | 
|  Ubuntu USN | USN-7521-2 | Linux kernel (AWS) vulnerabilities | 
|  Ubuntu USN | USN-7521-3 | Linux kernel vulnerabilities | 
|  Ubuntu USN | USN-7651-1 | Linux kernel vulnerabilities | 
|  Ubuntu USN | USN-7651-2 | Linux kernel vulnerabilities | 
|  Ubuntu USN | USN-7651-3 | Linux kernel vulnerabilities | 
|  Ubuntu USN | USN-7651-4 | Linux kernel (GCP) vulnerabilities | 
|  Ubuntu USN | USN-7651-5 | Linux kernel (Raspberry Pi Real-time) vulnerabilities | 
|  Ubuntu USN | USN-7651-6 | Linux kernel (Raspberry Pi) vulnerabilities | 
|  Ubuntu USN | USN-7652-1 | Linux kernel (Real-time) vulnerabilities | 
|  Ubuntu USN | USN-7653-1 | Linux kernel (HWE) vulnerabilities | 
|  Ubuntu USN | USN-7737-1 | Linux kernel (Azure) vulnerabilities | 
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Wed, 29 Oct 2025 21:00:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| First Time appeared | Linux Linux linux Kernel | |
| Weaknesses | NVD-CWE-noinfo | |
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:5.17:-:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:5.17:rc4:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:5.17:rc5:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:5.17:rc6:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:5.17:rc7:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:5.17:rc8:*:*:*:*:*:* | |
| Vendors & Products | Linux Linux linux Kernel | |
| Metrics | cvssV3_1 
 | cvssV3_1 
 | 
Wed, 12 Mar 2025 06:45:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Weaknesses | CWE-252 | |
| Metrics | cvssV3_1 
 | cvssV3_1 
 | 
Fri, 07 Mar 2025 14:15:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References |  | |
| Metrics | threat_severity 
 | cvssV3_1 
 
 | 
Thu, 06 Mar 2025 16:45:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| 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. | |
| Title | block: don't revert iter for -EIOCBQUEUED | |
| References |  | 
 | 
 MITRE
                        MITRE
                    Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2025-05-10T16:48:42.602Z
Reserved: 2024-12-29T08:45:45.777Z
Link: CVE-2025-21832
 Vulnrichment
                        Vulnrichment
                    No data.
 NVD
                        NVD
                    Status : Analyzed
Published: 2025-03-06T17:15:23.177
Modified: 2025-10-29T20:58:30.950
Link: CVE-2025-21832
 Redhat
                        Redhat
                     OpenCVE Enrichment
                        OpenCVE Enrichment
                    No data.