In the Linux kernel, the following vulnerability has been resolved:
md: Fix missing release of 'active_io' for flush
submit_flushes
atomic_set(&mddev->flush_pending, 1);
rdev_for_each_rcu(rdev, mddev)
atomic_inc(&mddev->flush_pending);
bi->bi_end_io = md_end_flush
submit_bio(bi);
/* flush io is done first */
md_end_flush
if (atomic_dec_and_test(&mddev->flush_pending))
percpu_ref_put(&mddev->active_io)
-> active_io is not released
if (atomic_dec_and_test(&mddev->flush_pending))
-> missing release of active_io
For consequence, mddev_suspend() will wait for 'active_io' to be zero
forever.
Fix this problem by releasing 'active_io' in submit_flushes() if
'flush_pending' is decreased to zero.
References
Configurations
Configuration 1 (hide)
|
History
No history.
Information
Published : 2024-05-01 13:15
Updated : 2025-09-18 14:38
NVD link : CVE-2024-27023
Mitre link : CVE-2024-27023
CVE.ORG link : CVE-2024-27023
JSON object : View
Products Affected
linux
- linux_kernel
CWE
