Messages in this thread Patch in this message | | | Subject | Re: Avoid speculative indirect calls in kernel | From | David Woodhouse <> | Date | Thu, 04 Jan 2018 20:05:31 +0000 |
| |
On Thu, 2018-01-04 at 14:00 -0600, Tom Lendacky wrote: > Yes, lfence is sufficient. As long as the target is in the register > before the lfence and we jump through the register all is good, i.e.:
Thanks. Can I have a Reviewed-by: for this then please:
http://git.infradead.org/users/dwmw2/linux-retpoline.git/commitdiff/08d9eda03
From: David Woodhouse <dwmw@amazon.co.uk> Date: Thu, 4 Jan 2018 20:01:53 +0000 Subject: [PATCH] x86/retpoline: Simplify AMD variant of retpoline thunk
On AMD (which is X86_FEATURE_K8), just the lfence is sufficient.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> --- arch/x86/lib/retpoline.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/lib/retpoline.S b/arch/x86/lib/retpoline.S index bbdda5cc136e..26070976bff0 100644 --- a/arch/x86/lib/retpoline.S +++ b/arch/x86/lib/retpoline.S @@ -11,7 +11,7 @@ ENTRY(__x86.indirect_thunk.\reg) CFI_STARTPROC - ALTERNATIVE "call 2f", __stringify(jmp *%\reg), X86_BUG_NO_RETPOLINE + ALTERNATIVE_2 "call 2f", __stringify(lfence;jmp *%\reg), X86_FEATURE_K8, __stringify(jmp *%\reg), X86_BUG_NO_RETPOLINE 1: lfence jmp 1b -- 2.14.3[unhandled content-type:application/x-pkcs7-signature] | |