summaryrefslogtreecommitdiff
path: root/scripts/makelst
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2022-08-27 09:09:04 +0200
committerWill Deacon <will@kernel.org>2022-09-01 11:50:44 +0100
commite62b9e6f25fc99be07c3b7b284262ee74ed645a9 (patch)
treeb78e943085a33ae3fe6ed8d7b27f61a587a98980 /scripts/makelst
parent4831be702b95047c89b3fa5728d07091e9e9f7c9 (diff)
arm64: head: Ignore bogus KASLR displacement on non-relocatable kernels
Even non-KASLR kernels can be built as relocatable, to work around broken bootloaders that violate the rules regarding physical placement of the kernel image - in this case, the physical offset modulo 2 MiB is used as the KASLR offset, and all absolute symbol references are fixed up in the usual way. This workaround is enabled by default. CONFIG_RELOCATABLE can also be disabled entirely, in which case the relocation code and the code that captures the offset are omitted from the build. However, since commit aacd149b6238 ("arm64: head: avoid relocating the kernel twice for KASLR"), this code got out of sync, and we still add the offset to the kernel virtual address before populating the page tables even though we never capture it. This means we add a bogus value instead, breaking the boot entirely. Fixes: aacd149b6238 ("arm64: head: avoid relocating the kernel twice for KASLR") Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Tested-by: Mikulas Patocka <mpatocka@redhat.com> Link: https://lore.kernel.org/r/20220827070904.2216989-1-ardb@kernel.org Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'scripts/makelst')
0 files changed, 0 insertions, 0 deletions