On Wed, Nov 26, 2014 at 08:44:43PM +0100, Borislav Petkov wrote: > Guys, > > please do not pick up this patch for stable because it breaks 32-bit > microcode loading on intel. I'll let you know once I have a fix. >
Thanks Boris, I'll drop it from the 3.16 kernel that is currently under review. Cheers, -- Luís > Thanks. > > ----- Forwarded message from tip-bot for Borislav Petkov <[email protected]> > ----- > > Date: Tue, 18 Nov 2014 09:40:23 -0800 > From: tip-bot for Borislav Petkov <[email protected]> > To: [email protected] > Cc: [email protected], [email protected], [email protected], > [email protected], [email protected], [email protected], > [email protected] > Subject: [tip:x86/urgent] x86, microcode: Update BSPs microcode on resume > X-Mailer: tip-git-log-daemon > Message-ID: <[email protected]> > > Commit-ID: fb86b97300d930b57471068720c52bfa8622eab7 > Gitweb: http://git.kernel.org/tip/fb86b97300d930b57471068720c52bfa8622eab7 > Author: Borislav Petkov <[email protected]> > AuthorDate: Tue, 18 Nov 2014 10:46:57 +0100 > Committer: Thomas Gleixner <[email protected]> > CommitDate: Tue, 18 Nov 2014 18:32:24 +0100 > > x86, microcode: Update BSPs microcode on resume > > 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 > haven't initialized the uci->mc microcode pointer. So, in order to > alleviate that, we go and dig out the stashed microcode patch during > early boot. It is basically the same thing that is done on the APs early > during boot so do that too here. > > Tested-by: [email protected] > Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=88001 > Cc: Henrique de Moraes Holschuh <[email protected]> > Cc: Fenghua Yu <[email protected]> > Cc: <[email protected]> # v3.9 > Signed-off-by: Borislav Petkov <[email protected]> > Link: http://lkml.kernel.org/r/[email protected] > Signed-off-by: Thomas Gleixner <[email protected]> > --- > 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 > index dd9d619..2ce9051 100644 > --- a/arch/x86/kernel/cpu/microcode/core.c > +++ b/arch/x86/kernel/cpu/microcode/core.c > @@ -465,6 +465,14 @@ static void mc_bp_resume(void) > > if (uci->valid && uci->mc) > microcode_ops->apply_microcode(cpu); > + else if (!uci->mc) > + /* > + * We might resume and not have applied late microcode but still > + * have a newer patch stashed from the early loader. We don't > + * have it in uci->mc so we have to load it the same way we're > + * applying patches early on the APs. > + */ > + load_ucode_ap(); > } > > static struct syscore_ops mc_syscore_ops = { > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > > > ----- End forwarded message ----- > > -- > Regards/Gruss, > Boris. > > Sent from a fat crate under my desk. Formatting is fine. > -- > -- > To unsubscribe from this list: send the line "unsubscribe stable" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
