CVE-2024-42293
kernel: arm64: mm: Fix lockless walks with static and dynamic page-table folding
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · August 17, 2024
Updated · October 30, 2026
Description
In the Linux kernel, the following vulnerability has been resolved:
arm64: mm: Fix lockless walks with static and dynamic page-table folding
Lina reports random oopsen originating from the fast GUP code when 16K pages are used with 4-level page-tables, the fourth level being folded at runtime due to lack of LPA2.
In this configuration, the generic implementation of p4d_offset_lockless() will return a 'p4d_t *' corresponding to the 'pgd_t' allocated on the stack of the caller, gup_fast_pgd_range(). This is normally fine, but when the fourth level of page-table is folded at runtime, pud_offset_lockless() will offset from the address of the 'p4d_t' to calculate the address of the PUD in the same page-table page. This results in a stray stack read when the 'p4d_t' has been allocated on the stack and can send the walker into the weeds.
Fix the problem by providing our own definition of p4d_offset_lockless() when CONFIG_PGTABLE_LEVELS <= 4 which returns the real page-table pointer rather than the address of the local stack variable.
Statement
This vulnerability is rated as having a Moderate impact because it requires local access on an affected arm64 architecture system and depends on non-standard memory configurations to trigger. The issue occurs specifically during lockless fast get_user_pages (GUP) operations on arm64 systems utilizing 16KB memory page sizes with dynamic four-level page-table folding. Because enterprise Red Hat Enterprise Linux releases use standard page sizes and do not enable this experimental memory configuration, exposure in enterprise production deployments is minimal.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
No mitigation is specified in collected source.
CVSS / CWE
CVSS 3.1 · 7.1CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CWE-125 · Out-of-bounds Read