CVE Published: 01/05/2024 |
CVE Updated: 05/11/2024 |
CVE Year: 2024 Source: Linux |
Vendor: Linux |
Product: Linux Status : PUBLISHED
CVE-2024-27023 Description
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.