[ Sasha's backport helper bot ]
Hi,
✅ All tests passed successfully. No issues detected. No action required from the submitter.
The upstream commit SHA1 provided is correct: 052040e34c08428a5a388b85787e8531970c0c67
Status in newer kernel trees: 6.14.y | Present (different SHA1: 9af9ad85ac44) 6.12.y | Present (different SHA1: 2d3bf48b14d4) 6.6.y | Present (different SHA1: 4dc248983ca5) 6.1.y | Present (different SHA1: fe6577881bf4)
Note: The patch differs from the upstream commit: --- 1: 052040e34c084 ! 1: 70b69b6a93bdd x86/speculation: Add a conditional CS prefix to CALL_NOSPEC @@ Metadata ## Commit message ## x86/speculation: Add a conditional CS prefix to CALL_NOSPEC
+ commit 052040e34c08428a5a388b85787e8531970c0c67 upstream. + Retpoline mitigation for spectre-v2 uses thunks for indirect branches. To support this mitigation compilers add a CS prefix with -mindirect-branch-cs-prefix. For an indirect branch in asm, this needs to @@ arch/x86/include/asm/nospec-branch.h */ .macro __CS_PREFIX reg:req .irp rs,r8,r9,r10,r11,r12,r13,r14,r15 -@@ arch/x86/include/asm/nospec-branch.h: static inline void call_depth_return_thunk(void) {} +@@ arch/x86/include/asm/nospec-branch.h: extern retpoline_thunk_t __x86_indirect_thunk_array[];
#ifdef CONFIG_X86_64
@@ arch/x86/include/asm/nospec-branch.h: static inline void call_depth_return_thunk + /* * Inline asm uses the %V modifier which is only in newer GCC - * which is ensured when CONFIG_MITIGATION_RETPOLINE is defined. + * which is ensured when CONFIG_RETPOLINE is defined. */ - #ifdef CONFIG_MITIGATION_RETPOLINE + #ifdef CONFIG_RETPOLINE -#define CALL_NOSPEC "call __x86_indirect_thunk_%V[thunk_target]\n" +#define CALL_NOSPEC __CS_PREFIX("%V[thunk_target]") \ + "call __x86_indirect_thunk_%V[thunk_target]\n" ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.1.y | Success | Success |