| From foo@baz Wed Feb 7 19:38:23 CST 2018 |
| From: Waiman Long <longman@redhat.com> |
| Date: Mon, 22 Jan 2018 17:09:34 -0500 |
| Subject: x86/retpoline: Remove the esp/rsp thunk |
| |
| From: Waiman Long <longman@redhat.com> |
| |
| (cherry picked from commit 1df37383a8aeabb9b418698f0bcdffea01f4b1b2) |
| |
| It doesn't make sense to have an indirect call thunk with esp/rsp as |
| retpoline code won't work correctly with the stack pointer register. |
| Removing it will help compiler writers to catch error in case such |
| a thunk call is emitted incorrectly. |
| |
| Fixes: 76b043848fd2 ("x86/retpoline: Add initial retpoline support") |
| Suggested-by: Jeff Law <law@redhat.com> |
| Signed-off-by: Waiman Long <longman@redhat.com> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Acked-by: David Woodhouse <dwmw@amazon.co.uk> |
| Cc: Tom Lendacky <thomas.lendacky@amd.com> |
| Cc: Kees Cook <keescook@google.com> |
| Cc: Andi Kleen <ak@linux.intel.com> |
| Cc: Tim Chen <tim.c.chen@linux.intel.com> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Jiri Kosina <jikos@kernel.org> |
| Cc: Andy Lutomirski <luto@amacapital.net> |
| Cc: Dave Hansen <dave.hansen@intel.com> |
| Cc: Josh Poimboeuf <jpoimboe@redhat.com> |
| Cc: Arjan van de Ven <arjan@linux.intel.com> |
| Cc: Greg Kroah-Hartman <gregkh@linux-foundation.org> |
| Cc: Paul Turner <pjt@google.com> |
| Link: https://lkml.kernel.org/r/1516658974-27852-1-git-send-email-longman@redhat.com |
| Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/x86/include/asm/asm-prototypes.h | 1 - |
| arch/x86/lib/retpoline.S | 1 - |
| 2 files changed, 2 deletions(-) |
| |
| --- a/arch/x86/include/asm/asm-prototypes.h |
| +++ b/arch/x86/include/asm/asm-prototypes.h |
| @@ -37,5 +37,4 @@ INDIRECT_THUNK(dx) |
| INDIRECT_THUNK(si) |
| INDIRECT_THUNK(di) |
| INDIRECT_THUNK(bp) |
| -INDIRECT_THUNK(sp) |
| #endif /* CONFIG_RETPOLINE */ |
| --- a/arch/x86/lib/retpoline.S |
| +++ b/arch/x86/lib/retpoline.S |
| @@ -36,7 +36,6 @@ GENERATE_THUNK(_ASM_DX) |
| GENERATE_THUNK(_ASM_SI) |
| GENERATE_THUNK(_ASM_DI) |
| GENERATE_THUNK(_ASM_BP) |
| -GENERATE_THUNK(_ASM_SP) |
| #ifdef CONFIG_64BIT |
| GENERATE_THUNK(r8) |
| GENERATE_THUNK(r9) |