CVE-2024-27023

Publication date

2024-05-01 12:49:21

Family

Linux

State

PUBLISHED

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.