Re: [PATCH 2/2] x86/microcode: Do not exit early from __reload_late()

From: Raj, Ashok
Date: Fri Apr 20 2018 - 12:00:37 EST


On Fri, Apr 20, 2018 at 12:37:08PM +0200, Borislav Petkov wrote:
> Vitezslav reported a case where the
>
> "Timeout during microcode update!"
>
> panic would hit. After a deeper look, it turned out that his .config had
> CONFIG_HOTPLUG_CPU disabled which practically made save_mc_for_early() a
> no-op.
>
> When that happened, the discovered microcode patch wasn't saved into our
> cache and the late loading path wouldn't find any.
>
> This, then, lead to early exit from __reload_late() and thus CPUs
> waiting until the timeout is reached, leading to the panic.
>
> In hindsight, I should've made that function not return before the
> post-synchronization. Oh well, I know better now...
>
> Reported-by: Vitezslav Samel <vitezslav@xxxxxxxx>
> Signed-off-by: Borislav Petkov <bp@xxxxxxx>

Tested-by: Ashok Raj <ashok.raj@xxxxxxxxx>

> Cc: Ashok Raj <ashok.raj@xxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Fixes: bb8c13d61a62 ("x86/microcode: Fix CPU synchronization routine")
> Link: http://lkml.kernel.org/r/20180418081140.GA2439@xxxxxxxxxxxxxx
> ---