[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