Re: [PATCH V2] x86, microcode, AMD: Fix patch level reporting forfamily15h

From: Borislav Petkov
Date: Thu Sep 26 2013 - 19:38:44 EST


On Wed, Sep 29, 2010 at 07:27:12PM -0500, suravee.suthikulpanit@xxxxxxx wrote:
> From: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
>
> On AMD family15h, 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
> cpu0/microcode/version:0x600063d
> cpu1/microcode/version:0x6000626
> cpu2/microcode/version:0x600063d
> cpu3/microcode/version:0x6000626
> cpu4/microcode/version:0x600063d
>
> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
> ---
> Changes from V1:
> - Update commit log as suggested by Boris.
>
> 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;
> }

Acked-by: Borislav Petkov <bp@xxxxxxx>

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
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/