Pull x86 fixes from Ingo Molnar: "Three fixes: a boot parameter re-(re-)fix, a retpoline build artifact fix and an LLVM workaround" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vdso: Drop implicit common-page-size linker flag x86/build: Fix compiler support check for CONFIG_RETPOLINE x86/boot: Clear RSDP address in boot_params for broken loaders
Unified · Split
| @@ -220,9 +220,6 @@ KBUILD_CFLAGS += -fno-asynchronous-unwind-tables · 219 unmodified lines | ||
| 220 | 220 | |
| 221 | 221 | # Avoid indirect branches in kernel to deal with Spectre |
| 222 | 222 | ifdef CONFIG_RETPOLINE |
| 223 | −ifeq ($(RETPOLINE_CFLAGS),) | |
| 224 | − $(error You are building kernel with non-retpoline compiler, please update your compiler.) | |
| 225 | −endif | |
| 226 | 223 | KBUILD_CFLAGS += $(RETPOLINE_CFLAGS) |
| 227 | 224 | endif |
| 228 | 225 | |
| @@ -307,6 +304,13 @@ ifndef CC_HAVE_ASM_GOTO · 78 unmodified lines | ||
| 307 | 304 | @echo Compiler lacks asm-goto support. |
| 308 | 305 | @exit 1 |
| 309 | 306 | endif |
| 307 | +ifdef CONFIG_RETPOLINE | |
| 308 | +ifeq ($(RETPOLINE_CFLAGS),) | |
| 309 | + @echo "You are building kernel with non-retpoline compiler." >&2 | |
| 310 | + @echo "Please update your compiler." >&2 | |
| 311 | + @false | |
| 312 | +endif | |
| 313 | +endif | |
| 310 | 314 | |
| 311 | 315 | archclean: |
| 312 | 316 | $(Q)rm -rf $(objtree)/arch/i386 |
| @@ -47,7 +47,7 @@ targets += $(vdso_img_sodbg) $(vdso_img-y:%=vdso%.so) · 46 unmodified lines | ||
| 47 | 47 | CPPFLAGS_vdso.lds += -P -C |
| 48 | 48 | |
| 49 | 49 | VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -soname linux-vdso.so.1 --no-undefined \ |
| 50 | − -z max-page-size=4096 -z common-page-size=4096 | |
| 50 | + -z max-page-size=4096 | |
| 51 | 51 | |
| 52 | 52 | $(obj)/vdso64.so.dbg: $(obj)/vdso.lds $(vobjs) FORCE |
| 53 | 53 | $(call if_changed,vdso) |
| @@ -98,7 +98,7 @@ CFLAGS_REMOVE_vvar.o = -pg · 44 unmodified lines | ||
| 98 | 98 | |
| 99 | 99 | CPPFLAGS_vdsox32.lds = $(CPPFLAGS_vdso.lds) |
| 100 | 100 | VDSO_LDFLAGS_vdsox32.lds = -m elf32_x86_64 -soname linux-vdso.so.1 \ |
| 101 | − -z max-page-size=4096 -z common-page-size=4096 | |
| 101 | + -z max-page-size=4096 | |
| 102 | 102 | |
| 103 | 103 | # x32-rebranded versions |
| 104 | 104 | vobjx32s-y := $(vobjs-y:.o=-x32.o) |
| @@ -36,6 +36,7 @@ static void sanitize_boot_params(struct boot_params *boot_params) · 35 unmodified lines | ||
| 36 | 36 | */ |
| 37 | 37 | if (boot_params->sentinel) { |
| 38 | 38 | /* fields in boot_params are left uninitialized, clear them */ |
| 39 | + boot_params->acpi_rsdp_addr = 0; | |
| 39 | 40 | memset(&boot_params->ext_ramdisk_image, 0, |
| 40 | 41 | (char *)&boot_params->efi_info - |
| 41 | 42 | (char *)&boot_params->ext_ramdisk_image); |