All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	Borislav Petkov <bp@suse.de>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Thadeu Lima de Souza Cascardo <cascardo@canonical.com>,
	Ben Hutchings <ben@decadent.org.uk>
Subject: [PATCH 5.10 087/130] x86,static_call: Use alternative RET encoding
Date: Tue, 12 Jul 2022 20:38:53 +0200	[thread overview]
Message-ID: <20220712183250.471354842@linuxfoundation.org> (raw)
In-Reply-To: <20220712183246.394947160@linuxfoundation.org>

From: Peter Zijlstra <peterz@infradead.org>

commit ee88d363d15617ff50ac24fab0ffec11113b2aeb upstream.

In addition to teaching static_call about the new way to spell 'RET',
there is an added complication in that static_call() is allowed to
rewrite text before it is known which particular spelling is required.

In order to deal with this; have a static_call specific fixup in the
apply_return() 'alternative' patching routine that will rewrite the
static_call trampoline to match the definite sequence.

This in turn creates the problem of uniquely identifying static call
trampolines. Currently trampolines are 8 bytes, the first 5 being the
jmp.d32/ret sequence and the final 3 a byte sequence that spells out
'SCT'.

This sequence is used in __static_call_validate() to ensure it is
patching a trampoline and not a random other jmp.d32. That is,
false-positives shouldn't be plenty, but aren't a big concern.

OTOH the new __static_call_fixup() must not have false-positives, and
'SCT' decodes to the somewhat weird but semi plausible sequence:

  push %rbx
  rex.XB push %r12

Additionally, there are SLS concerns with immediate jumps. Combined it
seems like a good moment to change the signature to a single 3 byte
trap instruction that is unique to this usage and will not ever get
generated by accident.

As such, change the signature to: '0x0f, 0xb9, 0xcc', which decodes
to:

  ud1 %esp, %ecx

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
[cascardo: skip validation as introduced by 2105a92748e8 ("static_call,x86: Robustify trampoline patching")]
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
[bwh: Backported to 5.10: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/x86/include/asm/static_call.h |   17 ++++++++++++++++
 arch/x86/kernel/alternative.c      |   12 +++++++----
 arch/x86/kernel/static_call.c      |   38 ++++++++++++++++++++++++++++++++++++-
 3 files changed, 62 insertions(+), 5 deletions(-)

--- a/arch/x86/include/asm/static_call.h
+++ b/arch/x86/include/asm/static_call.h
@@ -21,6 +21,16 @@
  * relative displacement across sections.
  */
 
+/*
+ * The trampoline is 8 bytes and of the general form:
+ *
+ *   jmp.d32 \func
+ *   ud1 %esp, %ecx
+ *
+ * That trailing #UD provides both a speculation stop and serves as a unique
+ * 3 byte signature identifying static call trampolines. Also see tramp_ud[]
+ * and __static_call_fixup().
+ */
 #define __ARCH_DEFINE_STATIC_CALL_TRAMP(name, insns)			\
 	asm(".pushsection .static_call.text, \"ax\"		\n"	\
 	    ".align 4						\n"	\
@@ -34,8 +44,13 @@
 #define ARCH_DEFINE_STATIC_CALL_TRAMP(name, func)			\
 	__ARCH_DEFINE_STATIC_CALL_TRAMP(name, ".byte 0xe9; .long " #func " - (. + 4)")
 
+#ifdef CONFIG_RETPOLINE
+#define ARCH_DEFINE_STATIC_CALL_NULL_TRAMP(name)			\
+	__ARCH_DEFINE_STATIC_CALL_TRAMP(name, "jmp __x86_return_thunk")
+#else
 #define ARCH_DEFINE_STATIC_CALL_NULL_TRAMP(name)			\
 	__ARCH_DEFINE_STATIC_CALL_TRAMP(name, "ret; int3; nop; nop; nop")
+#endif
 
 
 #define ARCH_ADD_TRAMP_KEY(name)					\
@@ -44,4 +59,6 @@
 	    ".long " STATIC_CALL_KEY_STR(name) " - .		\n"	\
 	    ".popsection					\n")
 
+extern bool __static_call_fixup(void *tramp, u8 op, void *dest);
+
 #endif /* _ASM_STATIC_CALL_H */
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -693,18 +693,22 @@ void __init_or_module noinline apply_ret
 	s32 *s;
 
 	for (s = start; s < end; s++) {
-		void *addr = (void *)s + *s;
+		void *dest = NULL, *addr = (void *)s + *s;
 		struct insn insn;
 		int len, ret;
 		u8 bytes[16];
-		u8 op1;
+		u8 op;
 
 		ret = insn_decode_kernel(&insn, addr);
 		if (WARN_ON_ONCE(ret < 0))
 			continue;
 
-		op1 = insn.opcode.bytes[0];
-		if (WARN_ON_ONCE(op1 != JMP32_INSN_OPCODE))
+		op = insn.opcode.bytes[0];
+		if (op == JMP32_INSN_OPCODE)
+			dest = addr + insn.length + insn.immediate.value;
+
+		if (__static_call_fixup(addr, op, dest) ||
+		    WARN_ON_ONCE(dest != &__x86_return_thunk))
 			continue;
 
 		DPRINTK("return thunk at: %pS (%px) len: %d to: %pS",
--- a/arch/x86/kernel/static_call.c
+++ b/arch/x86/kernel/static_call.c
@@ -11,6 +11,13 @@ enum insn_type {
 	RET = 3,  /* tramp / site cond-tail-call */
 };
 
+/*
+ * ud1 %esp, %ecx - a 3 byte #UD that is unique to trampolines, chosen such
+ * that there is no false-positive trampoline identification while also being a
+ * speculation stop.
+ */
+static const u8 tramp_ud[] = { 0x0f, 0xb9, 0xcc };
+
 static const u8 retinsn[] = { RET_INSN_OPCODE, 0xcc, 0xcc, 0xcc, 0xcc };
 
 static void __ref __static_call_transform(void *insn, enum insn_type type, void *func)
@@ -32,7 +39,10 @@ static void __ref __static_call_transfor
 		break;
 
 	case RET:
-		code = &retinsn;
+		if (cpu_feature_enabled(X86_FEATURE_RETHUNK))
+			code = text_gen_insn(JMP32_INSN_OPCODE, insn, &__x86_return_thunk);
+		else
+			code = &retinsn;
 		break;
 	}
 
@@ -97,3 +107,29 @@ void arch_static_call_transform(void *si
 	mutex_unlock(&text_mutex);
 }
 EXPORT_SYMBOL_GPL(arch_static_call_transform);
+
+#ifdef CONFIG_RETPOLINE
+/*
+ * This is called by apply_returns() to fix up static call trampolines,
+ * specifically ARCH_DEFINE_STATIC_CALL_NULL_TRAMP which is recorded as
+ * having a return trampoline.
+ *
+ * The problem is that static_call() is available before determining
+ * X86_FEATURE_RETHUNK and, by implication, running alternatives.
+ *
+ * This means that __static_call_transform() above can have overwritten the
+ * return trampoline and we now need to fix things up to be consistent.
+ */
+bool __static_call_fixup(void *tramp, u8 op, void *dest)
+{
+	if (memcmp(tramp+5, tramp_ud, 3)) {
+		/* Not a trampoline site, not our problem. */
+		return false;
+	}
+
+	if (op == RET_INSN_OPCODE || dest == &__x86_return_thunk)
+		__static_call_transform(tramp, RET, NULL);
+
+	return true;
+}
+#endif



  parent reply	other threads:[~2022-07-12 18:52 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-12 18:37 [PATCH 5.10 000/130] 5.10.131-rc1 review Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 001/130] KVM/VMX: Use TEST %REG,%REG instead of CMP $0,%REG in vmenter.S Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 002/130] KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 003/130] objtool: Refactor ORC section generation Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 004/130] objtool: Add alt_group struct Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 005/130] objtool: Support stack layout changes in alternatives Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 006/130] objtool: Support retpoline jump detection for vmlinux.o Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 007/130] objtool: Assume only ELF functions do sibling calls Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 008/130] objtool: Combine UNWIND_HINT_RET_OFFSET and UNWIND_HINT_FUNC Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 009/130] x86/xen: Support objtool validation in xen-asm.S Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 010/130] x86/xen: Support objtool vmlinux.o validation in xen-head.S Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 011/130] x86/alternative: Merge include files Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 012/130] x86/alternative: Support not-feature Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 013/130] x86/alternative: Support ALTERNATIVE_TERNARY Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 014/130] x86/alternative: Use ALTERNATIVE_TERNARY() in _static_cpu_has() Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 015/130] x86/insn: Rename insn_decode() to insn_decode_from_regs() Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 016/130] x86/insn: Add a __ignore_sync_check__ marker Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 017/130] x86/insn: Add an insn_decode() API Greg Kroah-Hartman
2022-07-12 23:04   ` Florian Fainelli
2022-07-13  7:25     ` Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 018/130] x86/insn-eval: Handle return values from the decoder Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 019/130] x86/alternative: Use insn_decode() Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 020/130] x86: Add insn_decode_kernel() Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 021/130] x86/alternatives: Optimize optimize_nops() Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 022/130] x86/retpoline: Simplify retpolines Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 023/130] objtool: Correctly handle retpoline thunk calls Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 024/130] objtool: Handle per arch retpoline naming Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 025/130] objtool: Rework the elf_rebuild_reloc_section() logic Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 026/130] objtool: Add elf_create_reloc() helper Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 027/130] objtool: Create reloc sections implicitly Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 028/130] objtool: Extract elf_strtab_concat() Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 029/130] objtool: Extract elf_symbol_add() Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 030/130] objtool: Add elf_create_undef_symbol() Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 031/130] objtool: Keep track of retpoline call sites Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 032/130] objtool: Cache instruction relocs Greg Kroah-Hartman
2022-07-12 18:37 ` [PATCH 5.10 033/130] objtool: Skip magical retpoline .altinstr_replacement Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 034/130] objtool/x86: Rewrite retpoline thunk calls Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 035/130] objtool: Support asm jump tables Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 036/130] x86/alternative: Optimize single-byte NOPs at an arbitrary position Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 037/130] objtool: Fix .symtab_shndx handling for elf_create_undef_symbol() Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 038/130] objtool: Only rewrite unconditional retpoline thunk calls Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 039/130] objtool/x86: Ignore __x86_indirect_alt_* symbols Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 040/130] objtool: Dont make .altinstructions writable Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 041/130] objtool: Teach get_alt_entry() about more relocation types Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 042/130] objtool: print out the symbol type when complaining about it Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 043/130] objtool: Remove reloc symbol type checks in get_alt_entry() Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 044/130] objtool: Make .altinstructions section entry size consistent Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 045/130] objtool: Introduce CFI hash Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 046/130] objtool: Handle __sanitize_cov*() tail calls Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 047/130] objtool: Classify symbols Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 048/130] objtool: Explicitly avoid self modifying code in .altinstr_replacement Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 049/130] objtool,x86: Replace alternatives with .retpoline_sites Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 050/130] x86/retpoline: Remove unused replacement symbols Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 051/130] x86/asm: Fix register order Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 052/130] x86/asm: Fixup odd GEN-for-each-reg.h usage Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 053/130] x86/retpoline: Move the retpoline thunk declarations to nospec-branch.h Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 054/130] x86/retpoline: Create a retpoline thunk array Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 055/130] x86/alternative: Implement .retpoline_sites support Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 056/130] x86/alternative: Handle Jcc __x86_indirect_thunk_\reg Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 057/130] x86/alternative: Try inline spectre_v2=retpoline,amd Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 058/130] x86/alternative: Add debug prints to apply_retpolines() Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 059/130] bpf,x86: Simplify computing label offsets Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 060/130] bpf,x86: Respect X86_FEATURE_RETPOLINE* Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 061/130] x86/lib/atomic64_386_32: Rename things Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 062/130] x86: Prepare asm files for straight-line-speculation Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 063/130] x86: Prepare inline-asm " Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 064/130] x86/alternative: Relax text_poke_bp() constraint Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 065/130] objtool: Add straight-line-speculation validation Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 066/130] x86: Add straight-line-speculation mitigation Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 067/130] tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in perf bench mem memcpy Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 068/130] kvm/emulate: Fix SETcc emulation function offsets with SLS Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 069/130] objtool: Default ignore INT3 for unreachable Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 070/130] crypto: x86/poly1305 - Fixup SLS Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 071/130] objtool: Fix SLS validation for kcov tail-call replacement Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 072/130] objtool: Fix code relocs vs weak symbols Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 073/130] objtool: Fix type of reloc::addend Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 074/130] objtool: Fix symbol creation Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 075/130] x86/entry: Remove skip_r11rcx Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 076/130] objtool: Fix objtool regression on x32 systems Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 077/130] x86/realmode: build with -D__DISABLE_EXPORTS Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 078/130] x86/kvm/vmx: Make noinstr clean Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 079/130] x86/cpufeatures: Move RETPOLINE flags to word 11 Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 080/130] x86/retpoline: Cleanup some #ifdefery Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 081/130] x86/retpoline: Swizzle retpoline thunk Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 082/130] Makefile: Set retpoline cflags based on CONFIG_CC_IS_{CLANG,GCC} Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 083/130] x86/retpoline: Use -mfunction-return Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 084/130] x86: Undo return-thunk damage Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 085/130] x86,objtool: Create .return_sites Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 086/130] objtool: skip non-text sections when adding return-thunk sites Greg Kroah-Hartman
2022-07-12 18:38 ` Greg Kroah-Hartman [this message]
2022-07-12 18:38 ` [PATCH 5.10 088/130] x86/ftrace: Use alternative RET encoding Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 089/130] x86/bpf: " Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 090/130] x86/kvm: Fix SETcc emulation for return thunks Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 091/130] x86/vsyscall_emu/64: Dont use RET in vsyscall emulation Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 092/130] x86/sev: Avoid using __x86_return_thunk Greg Kroah-Hartman
2022-07-12 18:38 ` [PATCH 5.10 093/130] x86: Use return-thunk in asm code Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 094/130] objtool: Treat .text.__x86.* as noinstr Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 095/130] x86: Add magic AMD return-thunk Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 096/130] x86/bugs: Report AMD retbleed vulnerability Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 097/130] x86/bugs: Add AMD retbleed= boot parameter Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 098/130] x86/bugs: Enable STIBP for JMP2RET Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 099/130] x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 100/130] x86/entry: Add kernel IBRS implementation Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 101/130] x86/bugs: Optimize SPEC_CTRL MSR writes Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 102/130] x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 103/130] x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation() Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 104/130] x86/bugs: Report Intel retbleed vulnerability Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 105/130] intel_idle: Disable IBRS during long idle Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 106/130] objtool: Update Retpoline validation Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 107/130] x86/xen: Rename SYS* entry points Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 108/130] x86/bugs: Add retbleed=ibpb Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 109/130] x86/bugs: Do IBPB fallback check only once Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 110/130] objtool: Add entry UNRET validation Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 111/130] x86/cpu/amd: Add Spectral Chicken Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 112/130] x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 113/130] x86/speculation: Fix firmware entry SPEC_CTRL handling Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 114/130] x86/speculation: Fix SPEC_CTRL write on SMT state change Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 115/130] x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 116/130] x86/speculation: Remove x86_spec_ctrl_mask Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 117/130] objtool: Re-add UNWIND_HINT_{SAVE_RESTORE} Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 118/130] KVM: VMX: Flatten __vmx_vcpu_run() Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 119/130] KVM: VMX: Convert launched argument to flags Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 120/130] KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 121/130] KVM: VMX: Fix IBRS handling after vmexit Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 122/130] x86/speculation: Fill RSB on vmexit for IBRS Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 123/130] x86/common: Stamp out the stepping madness Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 124/130] x86/cpu/amd: Enumerate BTC_NO Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 125/130] x86/retbleed: Add fine grained Kconfig knobs Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 126/130] x86/bugs: Add Cannon lake to RETBleed affected CPU list Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 127/130] x86/bugs: Do not enable IBPB-on-entry when IBPB is not supported Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 128/130] x86/kexec: Disable RET on kexec Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 129/130] x86/speculation: Disable RRSBA behavior Greg Kroah-Hartman
2022-07-12 18:39 ` [PATCH 5.10 130/130] x86/static_call: Serialize __static_call_fixup() properly Greg Kroah-Hartman
2022-07-12 23:15 ` [PATCH 5.10 000/130] 5.10.131-rc1 review Florian Fainelli
2022-07-13  9:35   ` Naresh Kamboju
2022-07-13  9:42     ` Greg Kroah-Hartman
2022-07-13 13:03     ` Naresh Kamboju
2022-07-13  3:24 ` Shuah Khan
2022-07-13  7:17 ` Jon Hunter
2022-07-13  7:54 ` Pavel Machek
2022-07-13 10:11 ` Sudip Mukherjee (Codethink)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220712183250.471354842@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ben@decadent.org.uk \
    --cc=bp@suse.de \
    --cc=cascardo@canonical.com \
    --cc=jpoimboe@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.