CVE-2024-50199

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
08/11/2024
Last modified:
03/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> mm/swapfile: skip HugeTLB pages for unuse_vma<br /> <br /> I got a bad pud error and lost a 1GB HugeTLB when calling swapoff. The<br /> problem can be reproduced by the following steps:<br /> <br /> 1. Allocate an anonymous 1GB HugeTLB and some other anonymous memory.<br /> 2. Swapout the above anonymous memory.<br /> 3. run swapoff and we will get a bad pud error in kernel message:<br /> <br /> mm/pgtable-generic.c:42: bad pud 00000000743d215d(84000001400000e7)<br /> <br /> We can tell that pud_clear_bad is called by pud_none_or_clear_bad in<br /> unuse_pud_range() by ftrace. And therefore the HugeTLB pages will never<br /> be freed because we lost it from page table. We can skip HugeTLB pages<br /> for unuse_vma to fix it.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 2.6.36 (including) 5.4.285 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.228 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.169 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.114 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.58 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.11.5 (excluding)
cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:*