[tip:x86/urgent] x86/microcode/AMD: Fix patch level reporting for family 15h

From: tip-bot for Suravee Suthikulpanit
Date: Fri Sep 27 2013 - 07:02:48 EST

Commit-ID: accd1e823ed1d5980106dd522a4c535084400830
Gitweb: http://git.kernel.org/tip/accd1e823ed1d5980106dd522a4c535084400830
Author: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
AuthorDate: Wed, 29 Sep 2010 19:27:12 -0500
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Fri, 27 Sep 2013 09:29:27 +0200

x86/microcode/AMD: Fix patch level reporting for family 15h

On AMD family 14h, applying microcode patch on the a core (core0)
would also affect the other core (core1) in the same compute
unit. The driver would skip applying the patch on core1, but it
still need to update kernel structures to reflect the proper
patch level.

The current logic is not updating the struct
ucode_cpu_info.cpu_sig.rev of the skipped core. This causes the
/sys/devices/system/cpu/cpu1/microcode/version to report
incorrect patch level as shown below:

$ grep . cpu?/microcode/version

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Cc: <bp@xxxxxxxxx>
Cc: <jacob.w.shin@xxxxxxxxx>
Cc: <herrmann.der.user@xxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1285806432-1995-1-git-send-email-suravee.suthikulpanit@xxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
arch/x86/kernel/microcode_amd.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/kernel/microcode_amd.c b/arch/x86/kernel/microcode_amd.c
index 7123b5d..af99f71 100644
--- a/arch/x86/kernel/microcode_amd.c
+++ b/arch/x86/kernel/microcode_amd.c
@@ -216,6 +216,7 @@ int apply_microcode_amd(int cpu)
/* need to apply patch? */
if (rev >= mc_amd->hdr.patch_id) {
c->microcode = rev;
+ uci->cpu_sig.rev = rev;
return 0;

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/