Re: [PATCH 2/5] x86, microcode: Don't lose error returns insave_microcode_in_initrd()

From: Borislav Petkov
Date: Wed Jul 24 2013 - 08:57:34 EST


On Tue, Jul 23, 2013 at 10:59:23PM +0200, Torsten Kaiser wrote:
> Don't lose the error return.
> This was lost when early amd microcode loading was added in
> 757885e94a22bcc82beb9b1445c95218cb20ceab
>
> Signed-off-by: Torsten Kaiser <just.for.lkml@xxxxxxxxxxxxxx>
>
> --- a/arch/x86/kernel/microcode_core_early.c 2013-07-23 19:44:05.509516795 +0200
> +++ b/arch/x86/kernel/microcode_core_early.c 2013-07-23 19:58:34.459509474 +0200
> @@ -127,11 +127,11 @@ int __init save_microcode_in_initrd(void
> switch (c->x86_vendor) {
> case X86_VENDOR_INTEL:
> if (c->x86 >= 6)
> - save_microcode_in_initrd_intel();
> + return save_microcode_in_initrd_intel();
> break;
> case X86_VENDOR_AMD:
> if (c->x86 >= 0x10)
> - save_microcode_in_initrd_amd();
> + return save_microcode_in_initrd_amd();

This one is incomplete: if we really want to hand up the error code, we
need to add a printk to the caller free_initrd_mem() saying that saving
of microcode from the initrd failed.

However, save_microcode_in_initrd_intel() already warns about it in the
error case.

So, actually, I think the warning should be issued by
save_microcode_in_initrd() and this function itself should be made to
return void. And save_microcode_in_initrd_intel() can simply return the
error code without doing the printk.

--
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/