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, Josh Poimboeuf <jpoimboe@redhat.com>,
	Ben Hutchings <ben@decadent.org.uk>
Subject: [PATCH 5.10 008/148] objtool: Combine UNWIND_HINT_RET_OFFSET and UNWIND_HINT_FUNC
Date: Sat, 23 Jul 2022 11:53:40 +0200	[thread overview]
Message-ID: <20220723095226.748134676@linuxfoundation.org> (raw)
In-Reply-To: <20220723095224.302504400@linuxfoundation.org>

From: Josh Poimboeuf <jpoimboe@redhat.com>

commit b735bd3e68824316655252a931a3353a6ebc036f upstream.

The ORC metadata generated for UNWIND_HINT_FUNC isn't actually very
func-like.  With certain usages it can cause stack state mismatches
because it doesn't set the return address (CFI_RA).

Also, users of UNWIND_HINT_RET_OFFSET no longer need to set a custom
return stack offset.  Instead they just need to specify a func-like
situation, so the current ret_offset code is hacky for no good reason.

Solve both problems by simplifying the RET_OFFSET handling and
converting it into a more useful UNWIND_HINT_FUNC.

If we end up needing the old 'ret_offset' functionality again in the
future, we should be able to support it pretty easily with the addition
of a custom 'sp_offset' in UNWIND_HINT_FUNC.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/db9d1f5d79dddfbb3725ef6d8ec3477ad199948d.1611263462.git.jpoimboe@redhat.com
[bwh: Backported to 5.10:
 - Don't use bswap_if_needed() since we don't have any of the other fixes
   for mixed-endian cross-compilation
 - Adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/x86/include/asm/unwind_hints.h |   13 +-----------
 arch/x86/kernel/ftrace_64.S         |    2 -
 arch/x86/lib/retpoline.S            |    2 -
 include/linux/objtool.h             |    5 +++-
 tools/include/linux/objtool.h       |    5 +++-
 tools/objtool/arch/x86/decode.c     |    4 +--
 tools/objtool/check.c               |   37 ++++++++++++++----------------------
 tools/objtool/check.h               |    1 
 8 files changed, 29 insertions(+), 40 deletions(-)

--- a/arch/x86/include/asm/unwind_hints.h
+++ b/arch/x86/include/asm/unwind_hints.h
@@ -48,17 +48,8 @@
 	UNWIND_HINT_REGS base=\base offset=\offset partial=1
 .endm
 
-.macro UNWIND_HINT_FUNC sp_offset=8
-	UNWIND_HINT sp_reg=ORC_REG_SP sp_offset=\sp_offset type=UNWIND_HINT_TYPE_CALL
-.endm
-
-/*
- * RET_OFFSET: Used on instructions that terminate a function; mostly RETURN
- * and sibling calls. On these, sp_offset denotes the expected offset from
- * initial_func_cfi.
- */
-.macro UNWIND_HINT_RET_OFFSET sp_offset=8
-	UNWIND_HINT sp_reg=ORC_REG_SP type=UNWIND_HINT_TYPE_RET_OFFSET sp_offset=\sp_offset
+.macro UNWIND_HINT_FUNC
+	UNWIND_HINT sp_reg=ORC_REG_SP sp_offset=8 type=UNWIND_HINT_TYPE_FUNC
 .endm
 
 #endif /* __ASSEMBLY__ */
--- a/arch/x86/kernel/ftrace_64.S
+++ b/arch/x86/kernel/ftrace_64.S
@@ -265,7 +265,7 @@ SYM_INNER_LABEL(ftrace_regs_caller_end,
 	restore_mcount_regs 8
 	/* Restore flags */
 	popfq
-	UNWIND_HINT_RET_OFFSET
+	UNWIND_HINT_FUNC
 	jmp	ftrace_epilogue
 
 SYM_FUNC_END(ftrace_regs_caller)
--- a/arch/x86/lib/retpoline.S
+++ b/arch/x86/lib/retpoline.S
@@ -28,7 +28,7 @@ SYM_FUNC_START_NOALIGN(__x86_retpoline_\
 	jmp	.Lspec_trap_\@
 .Ldo_rop_\@:
 	mov	%\reg, (%_ASM_SP)
-	UNWIND_HINT_RET_OFFSET
+	UNWIND_HINT_FUNC
 	ret
 SYM_FUNC_END(__x86_retpoline_\reg)
 
--- a/include/linux/objtool.h
+++ b/include/linux/objtool.h
@@ -29,11 +29,14 @@ struct unwind_hint {
  *
  * UNWIND_HINT_TYPE_REGS_PARTIAL: Used in entry code to indicate that
  * sp_reg+sp_offset points to the iret return frame.
+ *
+ * UNWIND_HINT_FUNC: Generate the unwind metadata of a callable function.
+ * Useful for code which doesn't have an ELF function annotation.
  */
 #define UNWIND_HINT_TYPE_CALL		0
 #define UNWIND_HINT_TYPE_REGS		1
 #define UNWIND_HINT_TYPE_REGS_PARTIAL	2
-#define UNWIND_HINT_TYPE_RET_OFFSET	3
+#define UNWIND_HINT_TYPE_FUNC		3
 
 #ifdef CONFIG_STACK_VALIDATION
 
--- a/tools/include/linux/objtool.h
+++ b/tools/include/linux/objtool.h
@@ -29,11 +29,14 @@ struct unwind_hint {
  *
  * UNWIND_HINT_TYPE_REGS_PARTIAL: Used in entry code to indicate that
  * sp_reg+sp_offset points to the iret return frame.
+ *
+ * UNWIND_HINT_FUNC: Generate the unwind metadata of a callable function.
+ * Useful for code which doesn't have an ELF function annotation.
  */
 #define UNWIND_HINT_TYPE_CALL		0
 #define UNWIND_HINT_TYPE_REGS		1
 #define UNWIND_HINT_TYPE_REGS_PARTIAL	2
-#define UNWIND_HINT_TYPE_RET_OFFSET	3
+#define UNWIND_HINT_TYPE_FUNC		3
 
 #ifdef CONFIG_STACK_VALIDATION
 
--- a/tools/objtool/arch/x86/decode.c
+++ b/tools/objtool/arch/x86/decode.c
@@ -563,8 +563,8 @@ void arch_initial_func_cfi_state(struct
 	state->cfa.offset = 8;
 
 	/* initial RA (return address) */
-	state->regs[16].base = CFI_CFA;
-	state->regs[16].offset = -8;
+	state->regs[CFI_RA].base = CFI_CFA;
+	state->regs[CFI_RA].offset = -8;
 }
 
 const char *arch_nop_insn(int len)
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -1423,13 +1423,20 @@ static int add_jump_table_alts(struct ob
 	return 0;
 }
 
+static void set_func_state(struct cfi_state *state)
+{
+	state->cfa = initial_func_cfi.cfa;
+	memcpy(&state->regs, &initial_func_cfi.regs,
+	       CFI_NUM_REGS * sizeof(struct cfi_reg));
+	state->stack_size = initial_func_cfi.cfa.offset;
+}
+
 static int read_unwind_hints(struct objtool_file *file)
 {
 	struct section *sec, *relocsec;
 	struct reloc *reloc;
 	struct unwind_hint *hint;
 	struct instruction *insn;
-	struct cfi_reg *cfa;
 	int i;
 
 	sec = find_section_by_name(file->elf, ".discard.unwind_hints");
@@ -1464,22 +1471,20 @@ static int read_unwind_hints(struct objt
 			return -1;
 		}
 
-		cfa = &insn->cfi.cfa;
+		insn->hint = true;
 
-		if (hint->type == UNWIND_HINT_TYPE_RET_OFFSET) {
-			insn->ret_offset = hint->sp_offset;
+		if (hint->type == UNWIND_HINT_TYPE_FUNC) {
+			set_func_state(&insn->cfi);
 			continue;
 		}
 
-		insn->hint = true;
-
 		if (arch_decode_hint_reg(insn, hint->sp_reg)) {
 			WARN_FUNC("unsupported unwind_hint sp base reg %d",
 				  insn->sec, insn->offset, hint->sp_reg);
 			return -1;
 		}
 
-		cfa->offset = hint->sp_offset;
+		insn->cfi.cfa.offset = hint->sp_offset;
 		insn->cfi.type = hint->type;
 		insn->cfi.end = hint->end;
 	}
@@ -1742,27 +1747,18 @@ static bool is_fentry_call(struct instru
 
 static bool has_modified_stack_frame(struct instruction *insn, struct insn_state *state)
 {
-	u8 ret_offset = insn->ret_offset;
 	struct cfi_state *cfi = &state->cfi;
 	int i;
 
 	if (cfi->cfa.base != initial_func_cfi.cfa.base || cfi->drap)
 		return true;
 
-	if (cfi->cfa.offset != initial_func_cfi.cfa.offset + ret_offset)
+	if (cfi->cfa.offset != initial_func_cfi.cfa.offset)
 		return true;
 
-	if (cfi->stack_size != initial_func_cfi.cfa.offset + ret_offset)
+	if (cfi->stack_size != initial_func_cfi.cfa.offset)
 		return true;
 
-	/*
-	 * If there is a ret offset hint then don't check registers
-	 * because a callee-saved register might have been pushed on
-	 * the stack.
-	 */
-	if (ret_offset)
-		return false;
-
 	for (i = 0; i < CFI_NUM_REGS; i++) {
 		if (cfi->regs[i].base != initial_func_cfi.regs[i].base ||
 		    cfi->regs[i].offset != initial_func_cfi.regs[i].offset)
@@ -2863,10 +2859,7 @@ static int validate_section(struct objto
 			continue;
 
 		init_insn_state(&state, sec);
-		state.cfi.cfa = initial_func_cfi.cfa;
-		memcpy(&state.cfi.regs, &initial_func_cfi.regs,
-		       CFI_NUM_REGS * sizeof(struct cfi_reg));
-		state.cfi.stack_size = initial_func_cfi.cfa.offset;
+		set_func_state(&state.cfi);
 
 		warnings += validate_symbol(file, sec, func, &state);
 	}
--- a/tools/objtool/check.h
+++ b/tools/objtool/check.h
@@ -50,7 +50,6 @@ struct instruction {
 	bool retpoline_safe;
 	s8 instr;
 	u8 visited;
-	u8 ret_offset;
 	struct alt_group *alt_group;
 	struct symbol *call_dest;
 	struct instruction *jump_dest;



  parent reply	other threads:[~2022-07-23  9:57 UTC|newest]

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

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=20220723095226.748134676@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ben@decadent.org.uk \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.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.