CVE-2024-50199

mm/swapfile: skip HugeTLB pages for unuse_vma

published November 8, 2024

CVSS
—
EPSS
0%
Percentile
12.3
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00223 · 12.3th percentile
Published
2024-11-08T05:54Z
EPSS history
Timeline
  • 08 NOV 05:54Z
    mm/swapfile: skip HugeTLB pages for unuse_vma
    cvelistv5