# 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-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux-ld --version # < git log --format=%s --max-count=1 7001052160d172f6de06adeffde24dde9935ece8 # < make -s -j 48 ARCH=parisc O=/kisskb/build/linus_generic-64bit_defconfig_parisc64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux- generic-64bit_defconfig # < make -s -j 48 ARCH=parisc O=/kisskb/build/linus_generic-64bit_defconfig_parisc64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux- help # make -s -j 48 ARCH=parisc O=/kisskb/build/linus_generic-64bit_defconfig_parisc64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux- olddefconfig # make -s -j 48 ARCH=parisc O=/kisskb/build/linus_generic-64bit_defconfig_parisc64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux- /kisskb/src/arch/parisc/kernel/vdso64/Makefile:30: FORCE prerequisite is missing /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S: Assembler messages: /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:39: Error: unknown pseudo-op: `.proc' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:40: Error: unknown pseudo-op: `.callinfo' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:41: Error: unknown pseudo-op: `.entry' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:44: Error: no such instruction: `ldi 0,%r25' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:45: Error: no such instruction: `ldi 173,%r20' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:46: Error: no such instruction: `ble 0x100(%sr2,%r0)' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:49: Error: no such instruction: `ldi 1,%r25' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:50: Error: no such instruction: `ldi 173,%r20' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:51: Error: no such instruction: `ble 0x100(%sr2,%r0)' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:54: Error: unknown pseudo-op: `.exit' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:55: Error: unknown pseudo-op: `.procend' /kisskb/src/arch/parisc/kernel/vdso32/sigtramp.S:76: Error: unknown pseudo-op: `.stringz' /kisskb/src/arch/parisc/kernel/vdso32/restart_syscall.S: Assembler messages: /kisskb/src/arch/parisc/kernel/vdso32/restart_syscall.S:16: Error: bad or irreducible absolute expression /kisskb/src/arch/parisc/kernel/vdso32/restart_syscall.S:16: Error: junk at end of line, first unrecognized character is `:' /kisskb/src/arch/parisc/kernel/vdso32/restart_syscall.S:26: Error: no such instruction: `ldw 0(%sp),%r31' /kisskb/src/arch/parisc/kernel/vdso32/restart_syscall.S:29: Error: no such instruction: `be 0x100(%sr2,%r0)' /kisskb/src/arch/parisc/kernel/vdso32/restart_syscall.S:30: Error: no such instruction: `ldi 0,%r20' /kisskb/src/arch/parisc/kernel/vdso32/restart_syscall.S:32: Error: .cfi_endproc without corresponding .cfi_startproc make[2]: *** [/kisskb/src/arch/parisc/kernel/vdso32/Makefile:34: arch/parisc/kernel/vdso32/sigtramp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/arch/parisc/kernel/vdso32/Makefile:34: arch/parisc/kernel/vdso32/restart_syscall.o] Error 1 make[1]: *** [/kisskb/src/arch/parisc/Makefile:177: vdso_prepare] Error 2 make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 48 ARCH=parisc O=/kisskb/build/linus_generic-64bit_defconfig_parisc64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_generic-64bit_defconfig_parisc64-gcc8 # Build took: 0:00:04.880630