CVE-2024-35794: dm-raid: really frozen sync_thread during suspend
dm-raid: really frozen syncthread during suspend
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.12.25-1Fixed in 6.12.27-1 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.7.12 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.8.3 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.9 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.35.1-1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Patch f52f5c71f3d4 - Configuration
In raid_postsuspend(), always call md_stop_writes() and use MD_RECOVERY_FROZEN as the condition for md_stop_writes() (the text says the prior condition check in raid_postsuspend() “doesn't look correct”).
Linux kernel md (raid) MD_RECOVERY_FROZEN usage = Use MD_RECOVERY_FROZEN as the condition for md_stop_writes() in raid_postsuspend(); do not rely on MD_RECOVERY_FROZEN alone to freeze an already-running sync_thread - Configuration
Fix suspend handling so that reentrant stop_sync_thread() does nothing, and always call md_stop_writes() in raid_postsuspend(); additionally, since stop_sync_thread() is only used for dm-raid in this case, move stop_sync_thread() to md_stop_writes() so dm-raid relies on md_stop_writes() to freeze sync_thread indirectly.
Linux kernel md (raid) / dm-raid sync_thread stopping during suspend = Always call md_stop_writes() in raid_postsuspend(); move stop_sync_thread() behavior into md_stop_writes() - Configuration
Disallow raid_message() to change sync_thread status (including setting/clearing MD_RECOVERY_FROZEN) during suspend, because raid_message can set/clear MD_RECOVERY_FROZEN at any time and clearing it while suspended can let a new sync_thread start unexpectedly.
Linux kernel md (raid) / raid_message() MD_RECOVERY_FROZEN modification during suspend = Disallow raid_message() from changing sync_thread status during suspend - Configuration
Apply the change described: remove MD_RECOVERY_FROZEN from __md_stop_writes() and ensure dm-raid (which relies on __md_stop_writes() indirectly to freeze sync_thread) still behaves correctly.
Linux kernel md (raid) / __md_stop_writes() MD_RECOVERY_FROZEN removal from __md_stop_writes() = Remove MD_RECOVERY_FROZEN from __md_stop_writes()
Event History
Frequently Asked Questions
What is the severity of CVE-2024-35794?
The severity of CVE-2024-35794 is not specified in the provided information, but vulnerabilities in the Linux kernel often have significant impact.
How do I fix CVE-2024-35794?
To fix CVE-2024-35794, upgrade to a patched kernel version: 6.7.12, 6.8.3, or 6.9 for Red Hat and specific versions for Debian.
What software is affected by CVE-2024-35794?
CVE-2024-35794 affects certain versions of the Linux kernel from both Red Hat and Debian.
Is there a workaround for CVE-2024-35794?
No specific workaround is mentioned for CVE-2024-35794; the recommended action is to upgrade the kernel.
Can CVE-2024-35794 lead to system crashes?
The details of CVE-2024-35794 suggest that issues related to the synchronization thread could potentially lead to system instability.