mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
x86/boot: Check startup code for absence of absolute relocations
Invoke objtool on each startup code object individually to check for the absence of absolute relocations. This is needed because this code will be invoked from the 1:1 mapping of memory before those absolute virtual addresses (which are derived from the kernel virtual base address provided to the linker and possibly shifted at boot) are mapped. Only objects built under arch/x86/boot/startup/ have this restriction, and once they have been incorporated into vmlinux.o, this distinction is difficult to make. So force the invocation of objtool for each object file individually, even if objtool is deferred to vmlinux.o for the rest of the build. In the latter case, only pass --noabs and nothing else; otherwise, append it to the existing objtool command line. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://lore.kernel.org/20250828102202.1849035-40-ardb+git@google.com
This commit is contained in:
parent
0d6e4563fc
commit
296650c8ac
|
|
@ -19,6 +19,7 @@ KCOV_INSTRUMENT := n
|
|||
|
||||
obj-$(CONFIG_X86_64) += gdt_idt.o map_kernel.o
|
||||
obj-$(CONFIG_AMD_MEM_ENCRYPT) += sme.o sev-startup.o
|
||||
pi-objs := $(patsubst %.o,$(obj)/%.o,$(obj-y))
|
||||
|
||||
lib-$(CONFIG_X86_64) += la57toggle.o
|
||||
lib-$(CONFIG_EFI_MIXED) += efi-mixed.o
|
||||
|
|
@ -28,3 +29,10 @@ lib-$(CONFIG_EFI_MIXED) += efi-mixed.o
|
|||
# to be linked into the decompressor or the EFI stub but not vmlinux
|
||||
#
|
||||
$(patsubst %.o,$(obj)/%.o,$(lib-y)): OBJECT_FILES_NON_STANDARD := y
|
||||
|
||||
#
|
||||
# Invoke objtool for each object individually to check for absolute
|
||||
# relocations, even if other objtool actions are being deferred.
|
||||
#
|
||||
$(pi-objs): objtool-enabled = 1
|
||||
$(pi-objs): objtool-args = $(if $(delay-objtool),,$(objtool-args-y)) --noabs
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user