[PATCH 2/6] ARM: move vmalloc() lazy-page table population
Sebastian Andrzej Siewior
bigeasy at linutronix.de
Mon Mar 2 02:43:51 PST 2026
On 2026-02-27 15:19:13 [+0000], Russell King (Oracle) wrote:
> Split the vmalloc() lazy-page table population from
> do_translation_fault() into a new vmalloc_fault() function.
>
> Signed-off-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
> --- a/arch/arm/mm/fault.c
> +++ b/arch/arm/mm/fault.c
> @@ -261,6 +261,70 @@ static inline bool ttbr0_usermode_access_allowed(struct pt_regs *regs)
> }
> #endif
>
> +/*
> + * Handle a vmalloc fault, copying the non-leaf page table entries from
> + * init_mm.pgd. Any kernel context can trigger this, so we must not sleep
> + * or enable interrupts. Having two CPUs execute this for the same page is
"unconditionally enable interrupts."? It wouldn't be wrong to enable
them if the calling context had them enabled, right?
> + * no problem, we'll just copy the same data twice.
> + *
> + * Returns false on failure.
> + */
> +static bool __kprobes __maybe_unused vmalloc_fault(unsigned long addr)
Maybe handle_vmalloc_fault().
> +{
Sebastian
More information about the linux-arm-kernel
mailing list