New upstream release.
- Limit the microcode reloading to 64-bit for now (FS#42689, FS#42820).
This commit is contained in:
parent
aea080f193
commit
15b24106a2
8
PKGBUILD
8
PKGBUILD
@ -4,8 +4,8 @@
|
|||||||
pkgbase=linux # Build stock -ARCH kernel
|
pkgbase=linux # Build stock -ARCH kernel
|
||||||
#pkgbase=linux-custom # Build kernel with a different name
|
#pkgbase=linux-custom # Build kernel with a different name
|
||||||
_srcname=linux-3.17
|
_srcname=linux-3.17
|
||||||
pkgver=3.17.4
|
pkgver=3.17.5
|
||||||
pkgrel=2
|
pkgrel=1
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
url="http://www.kernel.org/"
|
url="http://www.kernel.org/"
|
||||||
license=('GPL2')
|
license=('GPL2')
|
||||||
@ -21,12 +21,12 @@ source=("https://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
|
|||||||
'fix_CPU0_microcode_on_resume.patch'
|
'fix_CPU0_microcode_on_resume.patch'
|
||||||
)
|
)
|
||||||
sha256sums=('f5153ec93c5fcd41b247950e6a9bcbc63fa87beafd112c133a622439a0f76251'
|
sha256sums=('f5153ec93c5fcd41b247950e6a9bcbc63fa87beafd112c133a622439a0f76251'
|
||||||
'eeef37397a15245bd143569908be40622a87dc7673965e623e811ea3f68b8434'
|
'435a8a3c4faad53b5f9f0349629358a7d273e6ca94ffeb226c1d360787cc7278'
|
||||||
'ea9de72fe335055f6e8eebd1d85cad150a47a81004bb27d78f18f2591fd3bbd5'
|
'ea9de72fe335055f6e8eebd1d85cad150a47a81004bb27d78f18f2591fd3bbd5'
|
||||||
'66fc95823d3c99167532f37c07e9582d305961103997fcc61cfc7f6a86b34130'
|
'66fc95823d3c99167532f37c07e9582d305961103997fcc61cfc7f6a86b34130'
|
||||||
'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
|
'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
|
||||||
'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
|
'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
|
||||||
'4eb64c2520e9bcdff47d757946011b4bf9896186d285361f18364c7ff9b2c699')
|
'fa48f83498bbef85dbe4b39eb88f89aac4dd2591232a3f13ec029fc44b0f497a')
|
||||||
|
|
||||||
_kernelname=${pkgbase#linux}
|
_kernelname=${pkgbase#linux}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From fb86b97300d930b57471068720c52bfa8622eab7 Mon Sep 17 00:00:00 2001
|
From fb86b97300d930b57471068720c52bfa8622eab7 Mon Sep 17 00:00:00 2001
|
||||||
From: Borislav Petkov <bp@suse.de>
|
From: Borislav Petkov <bp@suse.de>
|
||||||
Date: Tue, 18 Nov 2014 10:46:57 +0100
|
Date: Tue, 18 Nov 2014 10:46:57 +0100
|
||||||
Subject: [PATCH] x86, microcode: Update BSPs microcode on resume
|
Subject: x86, microcode: Update BSPs microcode on resume
|
||||||
|
|
||||||
In the situation when we apply early microcode but do *not* apply late
|
In the situation when we apply early microcode but do *not* apply late
|
||||||
microcode, we fail to update the BSP's microcode on resume because we
|
microcode, we fail to update the BSP's microcode on resume because we
|
||||||
@ -18,9 +18,6 @@ Cc: <stable@vger.kernel.org> # v3.9
|
|||||||
Signed-off-by: Borislav Petkov <bp@suse.de>
|
Signed-off-by: Borislav Petkov <bp@suse.de>
|
||||||
Link: http://lkml.kernel.org/r/20141118094657.GA6635@pd.tnic
|
Link: http://lkml.kernel.org/r/20141118094657.GA6635@pd.tnic
|
||||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||||
---
|
|
||||||
arch/x86/kernel/cpu/microcode/core.c | 8 ++++++++
|
|
||||||
1 file changed, 8 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c
|
diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c
|
||||||
index dd9d619..2ce9051 100644
|
index dd9d619..2ce9051 100644
|
||||||
@ -42,5 +39,54 @@ index dd9d619..2ce9051 100644
|
|||||||
|
|
||||||
static struct syscore_ops mc_syscore_ops = {
|
static struct syscore_ops mc_syscore_ops = {
|
||||||
--
|
--
|
||||||
2.1.3
|
cgit v0.10.1
|
||||||
|
|
||||||
|
From 02ecc41abcea4ff9291d548f6f846b29b354ddd2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Borislav Petkov <bp@suse.de>
|
||||||
|
Date: Sun, 30 Nov 2014 14:26:39 +0100
|
||||||
|
Subject: x86, microcode: Limit the microcode reloading to 64-bit for now
|
||||||
|
|
||||||
|
First, there was this: https://bugzilla.kernel.org/show_bug.cgi?id=88001
|
||||||
|
|
||||||
|
The problem there was that microcode patches are not being reapplied
|
||||||
|
after suspend-to-ram. It was important to reapply them, though, because
|
||||||
|
of for example Haswell's TSX erratum which disabled TSX instructions
|
||||||
|
with a microcode patch.
|
||||||
|
|
||||||
|
A simple fix was fb86b97300d9 ("x86, microcode: Update BSPs microcode
|
||||||
|
on resume") but, as it is often the case, simple fixes are too
|
||||||
|
simple. This one causes 32-bit resume to fail:
|
||||||
|
|
||||||
|
https://bugzilla.kernel.org/show_bug.cgi?id=88391
|
||||||
|
|
||||||
|
Properly fixing this would require more involved changes for which it
|
||||||
|
is too late now, right before the merge window. Thus, limit this to
|
||||||
|
64-bit only temporarily.
|
||||||
|
|
||||||
|
Signed-off-by: Borislav Petkov <bp@suse.de>
|
||||||
|
Link: http://lkml.kernel.org/r/1417353999-32236-1-git-send-email-bp@alien8.de
|
||||||
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||||
|
|
||||||
|
diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c
|
||||||
|
index 2ce9051..08fe6e8 100644
|
||||||
|
--- a/arch/x86/kernel/cpu/microcode/core.c
|
||||||
|
+++ b/arch/x86/kernel/cpu/microcode/core.c
|
||||||
|
@@ -465,6 +465,7 @@ static void mc_bp_resume(void)
|
||||||
|
|
||||||
|
if (uci->valid && uci->mc)
|
||||||
|
microcode_ops->apply_microcode(cpu);
|
||||||
|
+#ifdef CONFIG_X86_64
|
||||||
|
else if (!uci->mc)
|
||||||
|
/*
|
||||||
|
* We might resume and not have applied late microcode but still
|
||||||
|
@@ -473,6 +474,7 @@ static void mc_bp_resume(void)
|
||||||
|
* applying patches early on the APs.
|
||||||
|
*/
|
||||||
|
load_ucode_ap();
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct syscore_ops mc_syscore_ops = {
|
||||||
|
--
|
||||||
|
cgit v0.10.1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user