Re: Linux 3.18.2 / xen 4.4.1 dom0 - microcode oops

From: James Dingwall
Date: Thu Jan 22 2015 - 12:43:23 EST


On Thu, Jan 22, 2015 at 04:30:02PM +0100, Borislav Petkov wrote:
> On Thu, Jan 22, 2015 at 09:53:04AM -0500, Boris Ostrovsky wrote:
> > Alternatively, we could return an error (-EINVAL?) from
> > microcode_init() when either of these two conditions is true.
>
> Yeah, this should be the right fix.
>
> James, does that fix your issue? (It should.)
>
> ---
> diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c
> index 15c29096136b..36a83617eb21 100644
> --- a/arch/x86/kernel/cpu/microcode/core.c
> +++ b/arch/x86/kernel/cpu/microcode/core.c
> @@ -552,7 +552,7 @@ static int __init microcode_init(void)
> int error;
>
> if (paravirt_enabled() || dis_ucode_ldr)
> - return 0;
> + return -EINVAL;
>
> if (c->x86_vendor == X86_VENDOR_INTEL)
> microcode_ops = init_intel_microcode();
>
> --

This patch solves it for me on my dom0 with 3.18.3, now there is nothing printed at all from the microcode
driver which doesn't seem surprising given where the return is. I'll check it on bare metal at the next
opportunity but from my understanding of what is happening there I don't see that it should have any impact at
all.

Thanks,
James
--
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/