arm64: remove TEXT_OFFSET randomization
TEXT_OFFSET was recently changed to 0x0, in preparation for its removal at a later stage, and a warning is emitted into the kernel log when the bootloader appears to have failed to take the TEXT_OFFSET image header value into account. Ironically, this warning itself fails to take TEXT_OFFSET into account, and compares the kernel image's alignment modulo 2M against a hardcoded value of 0x0, and so the warning will trigger spuriously when TEXT_OFFSET randomization is enabled. Given the intent to get rid of TEXT_OFFSET entirely, let's fix this oversight by just removing support for TEXT_OFFSET randomization. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Link: https://lore.kernel.org/r/20200615101939.634391-1-ardb@kernel.org Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
Родитель
b3a9e3b962
Коммит
751c263bb7
|
@ -8,21 +8,6 @@ config PID_IN_CONTEXTIDR
|
|||
instructions during context switch. Say Y here only if you are
|
||||
planning to use hardware trace tools with this kernel.
|
||||
|
||||
config ARM64_RANDOMIZE_TEXT_OFFSET
|
||||
bool "Randomize TEXT_OFFSET at build time"
|
||||
help
|
||||
Say Y here if you want the image load offset (AKA TEXT_OFFSET)
|
||||
of the kernel to be randomized at build-time. When selected,
|
||||
this option will cause TEXT_OFFSET to be randomized upon any
|
||||
build of the kernel, and the offset will be reflected in the
|
||||
text_offset field of the resulting Image. This can be used to
|
||||
fuzz-test bootloaders which respect text_offset.
|
||||
|
||||
This option is intended for bootloader and/or kernel testing
|
||||
only. Bootloaders must make no assumptions regarding the value
|
||||
of TEXT_OFFSET and platforms must not require a specific
|
||||
value.
|
||||
|
||||
config DEBUG_EFI
|
||||
depends on EFI && DEBUG_INFO
|
||||
bool "UEFI debugging"
|
||||
|
|
|
@ -121,13 +121,7 @@ endif
|
|||
head-y := arch/arm64/kernel/head.o
|
||||
|
||||
# The byte offset of the kernel image in RAM from the start of RAM.
|
||||
ifeq ($(CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET), y)
|
||||
TEXT_OFFSET := $(shell awk "BEGIN {srand(); printf \"0x%06x\n\", \
|
||||
int(2 * 1024 * 1024 / (2 ^ $(CONFIG_ARM64_PAGE_SHIFT)) * \
|
||||
rand()) * (2 ^ $(CONFIG_ARM64_PAGE_SHIFT))}")
|
||||
else
|
||||
TEXT_OFFSET := 0x0
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KASAN_SW_TAGS), y)
|
||||
KASAN_SHADOW_SCALE_SHIFT := 4
|
||||
|
|
Загрузка…
Ссылка в новой задаче