[PATCH] arm64: kexec: use __pa_symbol(empty_zero_page)

Will Deacon will at kernel.org
Thu Dec 2 02:59:26 PST 2021


On Tue, 30 Nov 2021 12:18:49 +0000, Mark Rutland wrote:
> In machine_kexec_post_load() we use __pa() on `empty_zero_page`, so that
> we can use the physical address during arm64_relocate_new_kernel() to
> switch TTBR1 to a new set of tables. While `empty_zero_page` is part of
> the old kernel, we won't clobber it until after this switch, so using it
> is benign.
> 
> However, `empty_zero_page` is part of the kernel image rather than a
> linear map address, so it is not correct to use __pa(x), and we should
> instead use __pa_symbol(x) or __pa(lm_alias(x)). Otherwise, when the
> kernel is built with DEBUG_VIRTUAL, we'll encounter splats as below, as
> I've seen when fuzzing v5.16-rc3 with Syzkaller:
> 
> [...]

Applied to arm64 (for-next/fixes), thanks!

[1/1] arm64: kexec: use __pa_symbol(empty_zero_page)
      https://git.kernel.org/arm64/c/2f2183243f52

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev



More information about the linux-arm-kernel mailing list