003602ad55
While discussing a patch to discard .eh_frame from the compressed vmlinux using the linker script, Fangrui Song pointed out [1] that these sections shouldn't exist in the first place because arch/x86/Makefile uses -fno-asynchronous-unwind-tables. It turns out this is because the Makefiles used to build the compressed kernel redefine KBUILD_CFLAGS, dropping this flag. Add the flag to the Makefile for the compressed kernel, as well as the EFI stub Makefile to fix this. Also add the flag to boot/Makefile and realmode/rm/Makefile so that the kernel's boot code (boot/setup.elf) and realmode trampoline (realmode/rm/realmode.elf) won't be compiled with .eh_frame sections, since their linker scripts also just discard them. [1] https://lore.kernel.org/lkml/20200222185806.ywnqhfqmy67akfsa@google.com/ Suggested-by: Fangrui Song <maskray@google.com> Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> Tested-by: Nathan Chancellor <natechancellor@gmail.com> Link: https://lkml.kernel.org/r/20200224232129.597160-2-nivedita@alum.mit.edu |
||
---|---|---|
.. | ||
.gitignore | ||
acpi.c | ||
cmdline.c | ||
cpuflags.c | ||
early_serial_console.c | ||
eboot.c | ||
eboot.h | ||
efi_thunk_64.S | ||
error.c | ||
error.h | ||
head_32.S | ||
head_64.S | ||
kaslr_64.c | ||
kaslr.c | ||
kernel_info.S | ||
Makefile | ||
mem_encrypt.S | ||
misc.c | ||
misc.h | ||
mkpiggy.c | ||
pgtable_64.c | ||
pgtable.h | ||
string.c | ||
vmlinux.lds.S |