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 <tipbot@xxxxxxxxx> ----- > > Date: Tue, 18 Nov 2014 09:40:23 -0800 > From: tip-bot for Borislav Petkov <tipbot@xxxxxxxxx> > To: linux-tip-commits@xxxxxxxxxxxxxxx > Cc: hmh@xxxxxxxxxx, fenghua.yu@xxxxxxxxx, hpa@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, bp@xxxxxxx, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx > Subject: [tip:x86/urgent] x86, microcode: Update BSPs microcode on resume > X-Mailer: tip-git-log-daemon > Message-ID: <tip-fb86b97300d930b57471068720c52bfa8622eab7@xxxxxxxxxxxxxx> > > Commit-ID: fb86b97300d930b57471068720c52bfa8622eab7 > Gitweb: http://git.kernel.org/tip/fb86b97300d930b57471068720c52bfa8622eab7 > Author: Borislav Petkov <bp@xxxxxxx> > AuthorDate: Tue, 18 Nov 2014 10:46:57 +0100 > Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > 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: alex.schnaidt@xxxxxxxxx > Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=88001 > Cc: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> > Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> # v3.9 > Signed-off-by: Borislav Petkov <bp@xxxxxxx> > Link: http://lkml.kernel.org/r/20141118094657.GA6635@xxxxxxx > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > --- > 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 majordomo@xxxxxxxxxxxxxxx > 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 majordomo@xxxxxxxxxxxxxxx > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html