diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0059-x86-alternatives-Fix-optimize_nops-checking.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.9.21/0059-x86-alternatives-Fix-optimize_nops-checking.patch | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0059-x86-alternatives-Fix-optimize_nops-checking.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0059-x86-alternatives-Fix-optimize_nops-checking.patch deleted file mode 100644 index b954c23c..00000000 --- a/common/recipes-kernel/linux/linux-yocto-4.9.21/0059-x86-alternatives-Fix-optimize_nops-checking.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 1ac5fc23c160f82956aa23fd595206a15d80d742 Mon Sep 17 00:00:00 2001 -From: Borislav Petkov <bp@suse.de> -Date: Wed, 10 Jan 2018 12:28:16 +0100 -Subject: [PATCH 059/103] x86/alternatives: Fix optimize_nops() checking - -commit 612e8e9350fd19cae6900cf36ea0c6892d1a0dca upstream. - -The alternatives code checks only the first byte whether it is a NOP, but -with NOPs in front of the payload and having actual instructions after it -breaks the "optimized' test. - -Make sure to scan all bytes before deciding to optimize the NOPs in there. - -Reported-by: David Woodhouse <dwmw2@infradead.org> -Signed-off-by: Borislav Petkov <bp@suse.de> -Signed-off-by: Thomas Gleixner <tglx@linutronix.de> -Cc: Tom Lendacky <thomas.lendacky@amd.com> -Cc: Andi Kleen <ak@linux.intel.com> -Cc: Tim Chen <tim.c.chen@linux.intel.com> -Cc: Peter Zijlstra <peterz@infradead.org> -Cc: Jiri Kosina <jikos@kernel.org> -Cc: Dave Hansen <dave.hansen@intel.com> -Cc: Andi Kleen <andi@firstfloor.org> -Cc: Andrew Lutomirski <luto@kernel.org> -Cc: Linus Torvalds <torvalds@linux-foundation.org> -Cc: Greg Kroah-Hartman <gregkh@linux-foundation.org> -Cc: Paul Turner <pjt@google.com> -Link: https://lkml.kernel.org/r/20180110112815.mgciyf5acwacphkq@pd.tnic -Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/kernel/alternative.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c -index 5cb272a..10d5a3d 100644 ---- a/arch/x86/kernel/alternative.c -+++ b/arch/x86/kernel/alternative.c -@@ -340,9 +340,12 @@ recompute_jump(struct alt_instr *a, u8 *orig_insn, u8 *repl_insn, u8 *insnbuf) - static void __init_or_module optimize_nops(struct alt_instr *a, u8 *instr) - { - unsigned long flags; -+ int i; - -- if (instr[0] != 0x90) -- return; -+ for (i = 0; i < a->padlen; i++) { -+ if (instr[i] != 0x90) -+ return; -+ } - - local_irq_save(flags); - add_nops(instr + (a->instrlen - a->padlen), a->padlen); --- -2.7.4 - |