CVE-2024-42293
Published: Aug 17, 2024
Modified: May 11, 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.
| Vendor | Product | Versions |
|---|---|---|
Linux | Linux | affected 0dd4f60a2c76938c2625f6c630c225699d97608b - < 78672d49d3eebbcda3589f4d6e589caf357c5a59affected 0dd4f60a2c76938c2625f6c630c225699d97608b - < 36639013b3462c06ff8e3400a427f775b4fc97f5 |
Linux | Linux | affected 6.9unaffected 0 - < 6.9unaffected 6.10.3 - <= 6.10.*unaffected 6.11 - <= * |
Security Training
Train your team to recognize and prevent security threats with our comprehensive security awareness program.
Start TrainingVulnerability Scanning
Discover vulnerabilities in your applications and infrastructure before attackers do.
Scan Now