diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0041-x86-microcode-Do-the-family-check-first.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.9.21/0041-x86-microcode-Do-the-family-check-first.patch | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0041-x86-microcode-Do-the-family-check-first.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0041-x86-microcode-Do-the-family-check-first.patch deleted file mode 100644 index 1f502096..00000000 --- a/common/recipes-kernel/linux/linux-yocto-4.9.21/0041-x86-microcode-Do-the-family-check-first.patch +++ /dev/null @@ -1,94 +0,0 @@ -From e614d84ae1ca7bad08645003fb3195a80fbdaae1 Mon Sep 17 00:00:00 2001 -From: Borislav Petkov <bp@suse.de> -Date: Thu, 12 Oct 2017 13:23:16 +0200 -Subject: [PATCH 41/42] x86/microcode: Do the family check first - -commit 1f161f67a272cc4f29f27934dd3f74cb657eb5c4 upstream with adjustments. - -On CPUs like AMD's Geode, for example, we shouldn't even try to load -microcode because they do not support the modern microcode loading -interface. - -However, we do the family check *after* the other checks whether the -loader has been disabled on the command line or whether we're running in -a guest. - -So move the family checks first in order to exit early if we're being -loaded on an unsupported family. - -Reported-and-tested-by: Sven Glodowski <glodi1@arcor.de> -Signed-off-by: Borislav Petkov <bp@suse.de> -Cc: <stable@vger.kernel.org> # 4.11.. -Cc: Linus Torvalds <torvalds@linux-foundation.org> -Cc: Peter Zijlstra <peterz@infradead.org> -Cc: Thomas Gleixner <tglx@linutronix.de> -Link: http://bugzilla.suse.com/show_bug.cgi?id=1061396 -Link: http://lkml.kernel.org/r/20171012112316.977-1-bp@alien8.de -Signed-off-by: Ingo Molnar <mingo@kernel.org> -Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/kernel/cpu/microcode/core.c | 27 ++++++++++++++++++--------- - 1 file changed, 18 insertions(+), 9 deletions(-) - -diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c -index dc0b9f8..0afaf00 100644 ---- a/arch/x86/kernel/cpu/microcode/core.c -+++ b/arch/x86/kernel/cpu/microcode/core.c -@@ -86,9 +86,6 @@ static bool __init check_loader_disabled_bsp(void) - bool *res = &dis_ucode_ldr; - #endif - -- if (!have_cpuid_p()) -- return *res; -- - a = 1; - c = 0; - native_cpuid(&a, &b, &c, &d); -@@ -130,8 +127,9 @@ void __init load_ucode_bsp(void) - { - int vendor; - unsigned int family; -+ bool intel = true; - -- if (check_loader_disabled_bsp()) -+ if (!have_cpuid_p()) - return; - - vendor = x86_cpuid_vendor(); -@@ -139,16 +137,27 @@ void __init load_ucode_bsp(void) - - switch (vendor) { - case X86_VENDOR_INTEL: -- if (family >= 6) -- load_ucode_intel_bsp(); -+ if (family < 6) -+ return; - break; -+ - case X86_VENDOR_AMD: -- if (family >= 0x10) -- load_ucode_amd_bsp(family); -+ if (family < 0x10) -+ return; -+ intel = false; - break; -+ - default: -- break; -+ return; - } -+ -+ if (check_loader_disabled_bsp()) -+ return; -+ -+ if (intel) -+ load_ucode_intel_bsp(); -+ else -+ load_ucode_amd_bsp(family); - } - - static bool check_loader_disabled_ap(void) --- -2.7.4 - |