merge-upstream/v5.10.133 from branch/tag: upstream/v5.10.133 into branch: main-R93-cos-5.10

Changelog:
-------------------------------------------------------------

Alexandre Chartre (2):
      x86/bugs: Report AMD retbleed vulnerability
      x86/bugs: Add AMD retbleed= boot parameter

Andrew Cooper (1):
      x86/cpu/amd: Enumerate BTC_NO

Arnaldo Carvalho de Melo (5):
      tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy'
      tools arch x86: Sync the msr-index.h copy with the kernel sources
      tools headers cpufeatures: Sync with the kernel sources
      tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy' - again
      tools headers: Remove broken definition of __LITTLE_ENDIAN

Ben Hutchings (3):
      x86: Add insn_decode_kernel()
      Makefile: Set retpoline cflags based on CONFIG_CC_IS_{CLANG,GCC}
      x86/xen: Fix initialisation in hypercall_page after rethunk

Borislav Petkov (8):
      x86/insn: Rename insn_decode() to insn_decode_from_regs()
      x86/insn: Add a __ignore_sync_check__ marker
      x86/insn: Add an insn_decode() API
      x86/insn-eval: Handle return values from the decoder
      x86/alternative: Use insn_decode()
      x86/alternative: Optimize single-byte NOPs at an arbitrary position
      kvm/emulate: Fix SETcc emulation function offsets with SLS
      tools/insn: Restore the relative include paths for cross building

Greg Kroah-Hartman (2):
      x86, kvm: use proper ASM macros for kvm_vcpu_is_preempted
      Linux 5.10.133

Jiri Slaby (1):
      x86/asm/32: Fix ANNOTATE_UNRET_SAFE use on 32-bit

Joe Lawrence (1):
      objtool: Make .altinstructions section entry size consistent

Josh Poimboeuf (24):
      objtool: Refactor ORC section generation
      objtool: Add 'alt_group' struct
      objtool: Support stack layout changes in alternatives
      objtool: Support retpoline jump detection for vmlinux.o
      objtool: Assume only ELF functions do sibling calls
      objtool: Combine UNWIND_HINT_RET_OFFSET and UNWIND_HINT_FUNC
      x86/xen: Support objtool validation in xen-asm.S
      x86/xen: Support objtool vmlinux.o validation in xen-head.S
      objtool: Support asm jump tables
      objtool: Don't make .altinstructions writable
      objtool: Remove reloc symbol type checks in get_alt_entry()
      x86/bugs: Do IBPB fallback check only once
      x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n
      x86/speculation: Fix firmware entry SPEC_CTRL handling
      x86/speculation: Fix SPEC_CTRL write on SMT state change
      x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit
      x86/speculation: Remove x86_spec_ctrl_mask
      objtool: Re-add UNWIND_HINT_{SAVE_RESTORE}
      KVM: VMX: Flatten __vmx_vcpu_run()
      KVM: VMX: Convert launched argument to flags
      KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS
      KVM: VMX: Fix IBRS handling after vmexit
      x86/speculation: Fill RSB on vmexit for IBRS
      x86/ftrace: Add UNWIND_HINT_FUNC annotation for ftrace_stub

Juergen Gross (4):
      x86/alternative: Merge include files
      x86/alternative: Support not-feature
      x86/alternative: Support ALTERNATIVE_TERNARY
      x86/alternative: Use ALTERNATIVE_TERNARY() in _static_cpu_has()

Kim Phillips (3):
      x86/sev: Avoid using __x86_return_thunk
      x86/bugs: Enable STIBP for JMP2RET
      x86/bugs: Remove apostrophe typo

Konrad Rzeszutek Wilk (1):
      x86/kexec: Disable RET on kexec

Linus Torvalds (2):
      objtool: print out the symbol type when complaining about it
      kvm: fix objtool relocation warning

Mikulas Patocka (1):
      objtool: Fix objtool regression on x32 systems

Nathan Chancellor (1):
      x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current

Paolo Bonzini (1):
      KVM: emulate: do not adjust size of fastop and setcc subroutines

Pawan Gupta (3):
      x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS
      x86/bugs: Add Cannon lake to RETBleed affected CPU list
      x86/speculation: Disable RRSBA behavior

Peter Zijlstra (77):
      x86/alternatives: Optimize optimize_nops()
      x86/retpoline: Simplify retpolines
      objtool: Correctly handle retpoline thunk calls
      objtool: Handle per arch retpoline naming
      objtool: Rework the elf_rebuild_reloc_section() logic
      objtool: Add elf_create_reloc() helper
      objtool: Create reloc sections implicitly
      objtool: Extract elf_strtab_concat()
      objtool: Extract elf_symbol_add()
      objtool: Add elf_create_undef_symbol()
      objtool: Keep track of retpoline call sites
      objtool: Cache instruction relocs
      objtool: Skip magical retpoline .altinstr_replacement
      objtool/x86: Rewrite retpoline thunk calls
      objtool: Fix .symtab_shndx handling for elf_create_undef_symbol()
      objtool: Only rewrite unconditional retpoline thunk calls
      objtool/x86: Ignore __x86_indirect_alt_* symbols
      objtool: Teach get_alt_entry() about more relocation types
      objtool: Introduce CFI hash
      objtool: Handle __sanitize_cov*() tail calls
      objtool: Classify symbols
      objtool: Explicitly avoid self modifying code in .altinstr_replacement
      objtool,x86: Replace alternatives with .retpoline_sites
      x86/retpoline: Remove unused replacement symbols
      x86/asm: Fix register order
      x86/asm: Fixup odd GEN-for-each-reg.h usage
      x86/retpoline: Move the retpoline thunk declarations to nospec-branch.h
      x86/retpoline: Create a retpoline thunk array
      x86/alternative: Implement .retpoline_sites support
      x86/alternative: Handle Jcc __x86_indirect_thunk_\reg
      x86/alternative: Try inline spectre_v2=retpoline,amd
      x86/alternative: Add debug prints to apply_retpolines()
      bpf,x86: Simplify computing label offsets
      bpf,x86: Respect X86_FEATURE_RETPOLINE*
      x86/lib/atomic64_386_32: Rename things
      x86: Prepare asm files for straight-line-speculation
      x86: Prepare inline-asm for straight-line-speculation
      x86/alternative: Relax text_poke_bp() constraint
      objtool: Add straight-line-speculation validation
      x86: Add straight-line-speculation mitigation
      objtool: Default ignore INT3 for unreachable
      crypto: x86/poly1305 - Fixup SLS
      objtool: Fix SLS validation for kcov tail-call replacement
      objtool: Fix code relocs vs weak symbols
      objtool: Fix type of reloc::addend
      objtool: Fix symbol creation
      x86/entry: Remove skip_r11rcx
      x86/kvm/vmx: Make noinstr clean
      x86/cpufeatures: Move RETPOLINE flags to word 11
      x86/retpoline: Cleanup some #ifdefery
      x86/retpoline: Swizzle retpoline thunk
      x86/retpoline: Use -mfunction-return
      x86: Undo return-thunk damage
      x86,objtool: Create .return_sites
      x86,static_call: Use alternative RET encoding
      x86/ftrace: Use alternative RET encoding
      x86/bpf: Use alternative RET encoding
      x86/kvm: Fix SETcc emulation for return thunks
      x86/vsyscall_emu/64: Don't use RET in vsyscall emulation
      x86: Use return-thunk in asm code
      objtool: Treat .text.__x86.* as noinstr
      x86: Add magic AMD return-thunk
      x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value
      x86/entry: Add kernel IBRS implementation
      x86/bugs: Optimize SPEC_CTRL MSR writes
      x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation()
      x86/bugs: Report Intel retbleed vulnerability
      intel_idle: Disable IBRS during long idle
      objtool: Update Retpoline validation
      x86/xen: Rename SYS* entry points
      x86/bugs: Add retbleed=ibpb
      objtool: Add entry UNRET validation
      x86/cpu/amd: Add Spectral Chicken
      x86/common: Stamp out the stepping madness
      x86/retbleed: Add fine grained Kconfig knobs
      um: Add missing apply_returns()
      x86: Use -mindirect-branch-cs-prefix for RETPOLINE builds

Thadeu Lima de Souza Cascardo (5):
      x86/realmode: build with -D__DISABLE_EXPORTS
      objtool: skip non-text sections when adding return-thunk sites
      x86/bugs: Do not enable IBPB-on-entry when IBPB is not supported
      efi/x86: use naked RET on mixed mode call wrapper
      x86/kvm: fix FASTOP_SIZE when return thunks are enabled

Thomas Gleixner (1):
      x86/static_call: Serialize __static_call_fixup() properly

Uros Bizjak (2):
      KVM/VMX: Use TEST %REG,%REG instead of CMP $0,%REG in vmenter.S
      KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw

Vasily Gorbik (1):
      objtool: Fix elf_create_undef_symbol() endianness

BUG=b/240159433
TEST=tryjob, validation and K8s e2e
RELEASE_NOTE=Updated the Linux kernel to v5.10.133.

Change-Id: I8697f8fd7c431f032a45b0798d47786800c95201
Signed-off-by: COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com>