diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0090-x86-retpoline-Optimize-inline-assembler-for-vmexit_f.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.9.21/0090-x86-retpoline-Optimize-inline-assembler-for-vmexit_f.patch | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0090-x86-retpoline-Optimize-inline-assembler-for-vmexit_f.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0090-x86-retpoline-Optimize-inline-assembler-for-vmexit_f.patch deleted file mode 100644 index 5cfbebeb..00000000 --- a/common/recipes-kernel/linux/linux-yocto-4.9.21/0090-x86-retpoline-Optimize-inline-assembler-for-vmexit_f.patch +++ /dev/null @@ -1,61 +0,0 @@ -From e06fc5b3f4c084453bad0d92f40888aad431d9bb Mon Sep 17 00:00:00 2001 -From: Andi Kleen <ak@linux.intel.com> -Date: Wed, 17 Jan 2018 14:53:28 -0800 -Subject: [PATCH 090/103] x86/retpoline: Optimize inline assembler for - vmexit_fill_RSB - -commit 3f7d875566d8e79c5e0b2c9a413e91b2c29e0854 upstream. - -The generated assembler for the C fill RSB inline asm operations has -several issues: - -- The C code sets up the loop register, which is then immediately - overwritten in __FILL_RETURN_BUFFER with the same value again. - -- The C code also passes in the iteration count in another register, which - is not used at all. - -Remove these two unnecessary operations. Just rely on the single constant -passed to the macro for the iterations. - -Signed-off-by: Andi Kleen <ak@linux.intel.com> -Signed-off-by: Thomas Gleixner <tglx@linutronix.de> -Acked-by: David Woodhouse <dwmw@amazon.co.uk> -Cc: dave.hansen@intel.com -Cc: gregkh@linuxfoundation.org -Cc: torvalds@linux-foundation.org -Cc: arjan@linux.intel.com -Link: https://lkml.kernel.org/r/20180117225328.15414-1-andi@firstfloor.org -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/include/asm/nospec-branch.h | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/arch/x86/include/asm/nospec-branch.h b/arch/x86/include/asm/nospec-branch.h -index 19ba5ad..4ad4108 100644 ---- a/arch/x86/include/asm/nospec-branch.h -+++ b/arch/x86/include/asm/nospec-branch.h -@@ -206,16 +206,17 @@ extern char __indirect_thunk_end[]; - static inline void vmexit_fill_RSB(void) - { - #ifdef CONFIG_RETPOLINE -- unsigned long loops = RSB_CLEAR_LOOPS / 2; -+ unsigned long loops; - - asm volatile (ANNOTATE_NOSPEC_ALTERNATIVE - ALTERNATIVE("jmp 910f", - __stringify(__FILL_RETURN_BUFFER(%0, RSB_CLEAR_LOOPS, %1)), - X86_FEATURE_RETPOLINE) - "910:" -- : "=&r" (loops), ASM_CALL_CONSTRAINT -- : "r" (loops) : "memory" ); -+ : "=r" (loops), ASM_CALL_CONSTRAINT -+ : : "memory" ); - #endif - } -+ - #endif /* __ASSEMBLY__ */ - #endif /* __NOSPEC_BRANCH_H__ */ --- -2.7.4 - |