High · published May 17, 2024
In the Linux kernel, the following vulnerability has been resolved:
md/dm-raid: don't call md_reap_sync_thread() directly
Currently md_reap_sync_thread() is called from raid_message() directly
without holding 'reconfig_mutex', this is definitely unsafe because
md_reap_sync_thread() can change many fields that is protected by
'reconfig_mutex'.
However, hold 'reconfig_mutex' here is still problematic because this
will cause deadlock, for example, commit 130443d60b1b ("md: refactor
idle/frozen_sync_thread() to fix deadlock").
Fix this problem by using stop_sync_thread() to unregister sync_thread,
like md/raid did.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 3.10, < 6.7.12 | 6.7.12 |
| linux/linux_kernel | ≥ 6.8, < 6.8.3 | 6.8.3 |