# git rev-parse -q --verify 7001052160d172f6de06adeffde24dde9935ece8^{commit} 7001052160d172f6de06adeffde24dde9935ece8 already have revision, skipping fetch # git checkout -q -f -B kisskb 7001052160d172f6de06adeffde24dde9935ece8 # git clean -qxdf # < git log -1 # commit 7001052160d172f6de06adeffde24dde9935ece8 # Merge: f022814633e1 3986f65d4f40 # Author: Linus Torvalds # Date: Sun Mar 27 10:17:23 2022 -0700 # # Merge tag 'x86_core_for_5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Pull x86 CET-IBT (Control-Flow-Integrity) support from Peter Zijlstra: # "Add support for Intel CET-IBT, available since Tigerlake (11th gen), # which is a coarse grained, hardware based, forward edge # Control-Flow-Integrity mechanism where any indirect CALL/JMP must # target an ENDBR instruction or suffer #CP. # # Additionally, since Alderlake (12th gen)/Sapphire-Rapids, speculation # is limited to 2 instructions (and typically fewer) on branch targets # not starting with ENDBR. CET-IBT also limits speculation of the next # sequential instruction after the indirect CALL/JMP [1]. # # CET-IBT is fundamentally incompatible with retpolines, but provides, # as described above, speculation limits itself" # # [1] https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html # # * tag 'x86_core_for_5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (53 commits) # kvm/emulate: Fix SETcc emulation for ENDBR # x86/Kconfig: Only allow CONFIG_X86_KERNEL_IBT with ld.lld >= 14.0.0 # x86/Kconfig: Only enable CONFIG_CC_HAS_IBT for clang >= 14.0.0 # kbuild: Fixup the IBT kbuild changes # x86/Kconfig: Do not allow CONFIG_X86_X32_ABI=y with llvm-objcopy # x86: Remove toolchain check for X32 ABI capability # x86/alternative: Use .ibt_endbr_seal to seal indirect calls # objtool: Find unused ENDBR instructions # objtool: Validate IBT assumptions # objtool: Add IBT/ENDBR decoding # objtool: Read the NOENDBR annotation # x86: Annotate idtentry_df() # x86,objtool: Move the ASM_REACHABLE annotation to objtool.h # x86: Annotate call_on_stack() # objtool: Rework ASM_REACHABLE # x86: Mark __invalid_creds() __noreturn # exit: Mark do_group_exit() __noreturn # x86: Mark stop_this_cpu() __noreturn # objtool: Ignore extra-symbol code # objtool: Rename --duplicate to --lto # ... # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 7001052160d172f6de06adeffde24dde9935ece8 # < make -s -j 120 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- randconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_BPF_PRELOAD=n # Added to kconfig # < make -s -j 120 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 120 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig .config:4664:warning: override: reassigning to symbol STANDALONE .config:4670:warning: override: reassigning to symbol GCC_PLUGIN_LATENT_ENTROPY # make -s -j 120 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- /kisskb/src/arch/x86/kernel/traps.c: In function '__exc_control_protection': /kisskb/src/arch/x86/kernel/traps.c:249:17: error: implicit declaration of function '__warn'; did you mean 'pr_warn'? [-Werror=implicit-function-declaration] 249 | __warn(__FILE__, __LINE__, (void *)regs->ip, TAINT_WARN, regs, NULL); | ^~~~~~ | pr_warn cc1: some warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:289: arch/x86/kernel/traps.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:551: arch/x86/kernel] Error 2 make[1]: *** [/kisskb/src/Makefile:1830: arch/x86] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/net/ipv6/ip6mr.c: In function 'ip6_mroute_setsockopt': /kisskb/src/net/ipv6/ip6mr.c:1656:14: warning: unused variable 'do_wrmifwhole' [-Wunused-variable] 1656 | bool do_wrmifwhole; | ^~~~~~~~~~~~~ make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 120 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 # Build took: 0:01:45.611803