CVE-2024-50199: mm/swapfile: skip HugeTLB pages for unuse_vma
In the Linux kernel, the following vulnerability has been resolved:
mm/swapfile: skip HugeTLB pages for unusevma
I got a bad pud error and lost a 1GB HugeTLB when calling swapoff. The problem can be reproduced by the following steps:
1. Allocate an anonymous 1GB HugeTLB and some other anonymous memory. 2. Swapout the above anonymous memory. 3. run swapoff and we will get a bad pud error in kernel message:
mm/pgtable-generic.c:42: bad pud 00000000743d215d(84000001400000e7)
We can tell that pudclearbad is called by pudnoneorclearbad in unusepudrange() by ftrace. And therefore the HugeTLB pages will never be freed because we lost it from page table. We can skip HugeTLB pages for unusevma to fix it.
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-50199?
CVE-2024-50199 is classified as a moderate severity vulnerability affecting the Linux kernel.
How do I fix CVE-2024-50199?
To resolve CVE-2024-50199, ensure your system is updated to the latest version of the Linux kernel where the issue has been addressed.
What impact does CVE-2024-50199 have on systems?
CVE-2024-50199 can lead to data loss or corruption when using HugeTLB pages and calling the swapoff command.
Which versions of the Linux kernel are affected by CVE-2024-50199?
CVE-2024-50199 affects versions of the Linux kernel that do not include the fix implemented after the vulnerability was discovered.
Are there any workarounds for CVE-2024-50199?
Currently, the recommended approach for CVE-2024-50199 is to update to the patched version of the Linux kernel, as no specific workarounds have been provided.