First published: Fri Nov 08 2024(Updated: )
In the Linux kernel, the following vulnerability has been resolved: mm/swapfile: skip HugeTLB pages for unuse_vma 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 pud_clear_bad is called by pud_none_or_clear_bad in unuse_pud_range() by ftrace. And therefore the HugeTLB pages will never be freed because we lost it from page table. We can skip HugeTLB pages for unuse_vma to fix it.
Credit: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Software | Affected Version | How to fix |
---|---|---|
Linux Kernel |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2024-50199 is classified as a moderate severity vulnerability affecting the Linux kernel.
To resolve CVE-2024-50199, ensure your system is updated to the latest version of the Linux kernel where the issue has been addressed.
CVE-2024-50199 can lead to data loss or corruption when using HugeTLB pages and calling the swapoff command.
CVE-2024-50199 affects versions of the Linux kernel that do not include the fix implemented after the vulnerability was discovered.
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.