diff options
| author | 2023-07-31 09:39:56 +0200 | |
|---|---|---|
| committer | 2023-07-31 09:39:56 +0200 | |
| commit | fe3015748a905e08eb0e1750aa2928f520063d59 (patch) | |
| tree | d15524d1f7931e8e5964e9ff8368792d09282da5 /mm/pagewalk.c | |
| parent | parport_pc: add support for ASIX AX99100 (diff) | |
| parent | Linux 6.5-rc4 (diff) | |
| download | wireguard-linux-fe3015748a905e08eb0e1750aa2928f520063d59.tar.xz wireguard-linux-fe3015748a905e08eb0e1750aa2928f520063d59.zip | |
Merge 6.5-rc4 into tty-next
We need the serial/tty fixes in here as well for testing and future
development.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm/pagewalk.c')
| -rw-r--r-- | mm/pagewalk.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/pagewalk.c b/mm/pagewalk.c index 64437105fe0d..2022333805d3 100644 --- a/mm/pagewalk.c +++ b/mm/pagewalk.c @@ -48,8 +48,11 @@ static int walk_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, if (walk->no_vma) { /* * pte_offset_map() might apply user-specific validation. + * Indeed, on x86_64 the pmd entries set up by init_espfix_ap() + * fit its pmd_bad() check (_PAGE_NX set and _PAGE_RW clear), + * and CONFIG_EFI_PGT_DUMP efi_mm goes so far as to walk them. */ - if (walk->mm == &init_mm) + if (walk->mm == &init_mm || addr >= TASK_SIZE) pte = pte_offset_kernel(pmd, addr); else pte = pte_offset_map(pmd, addr); |
