# 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-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 7001052160d172f6de06adeffde24dde9935ece8 # < make -s -j 120 ARCH=powerpc O=/kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc64_defconfig # < make -s -j 120 ARCH=powerpc O=/kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 120 ARCH=powerpc O=/kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 120 ARCH=powerpc O=/kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/arch/powerpc/kernel/irq.c:66:0: /kisskb/src/arch/powerpc/include/asm/livepatch.h:7:0: error: unterminated #ifndef #ifndef _ASM_POWERPC_LIVEPATCH_H ^ make[3]: *** [/kisskb/src/scripts/Makefile.build:289: arch/powerpc/kernel/irq.o] Error 1 make[3]: *** Waiting for unfinished jobs.... In file included from /kisskb/src/arch/powerpc/kernel/process.c:62:0: /kisskb/src/arch/powerpc/include/asm/livepatch.h:7:0: error: unterminated #ifndef #ifndef _ASM_POWERPC_LIVEPATCH_H ^ /kisskb/src/arch/powerpc/kernel/process.c: In function 'copy_thread': /kisskb/src/arch/powerpc/kernel/process.c:1734:2: error: implicit declaration of function 'klp_init_thread_info' [-Werror=implicit-function-declaration] klp_init_thread_info(p); ^ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:289: arch/powerpc/kernel/process.o] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:551: arch/powerpc/kernel] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1830: arch/powerpc] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 120 ARCH=powerpc O=/kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 # Build took: 0:01:01.137309