On Fri, 27 Sept 2024 at 08:11, Ard Biesheuvel <ardb+...@google.com> wrote: > > From: Ard Biesheuvel <a...@kernel.org> > > target_ulong is typedef'ed as a 32-bit integer when building the > qemu-system-arm target, and this is smaller than the size of an > intermediate physical address when LPAE is being used. > > Given that Linux may place leaf level user page tables in high memory > when built for LPAE, the kernel will crash with an external abort as > soon as it enters user space when running with more than ~3 GiB of > system RAM. > > So replace target_ulong with vaddr in places where it may carry an > address value that is not representable in 32 bits. > > Fixes: f3639a64f602ea ("target/arm: Use softmmu tlbs for page table walking") > Reported-by: Arnd Bergmann <a...@arndb.de> > Tested-by: Arnd Bergmann <a...@arndb.de> > Reviewed-by: Richard Henderson <richard.hender...@linaro.org> > Signed-off-by: Ard Biesheuvel <a...@kernel.org>
Applied to target-arm.next, thanks (and tagged as for stable). -- PMM