Re: AMD microcode loading broken on 32 bit

From: Boris Ostrovsky
Date: Thu Jan 23 2014 - 13:08:24 EST


On 01/21/2014 01:25 PM, Borislav Petkov wrote:
On Tue, Jan 21, 2014 at 12:55:53PM -0500, Boris Ostrovsky wrote:
cat $(AMD_UCODE_PATH)/* >
ucode_initrd/kernel/x86/microcode/AuthenticAMD.bin
(cd ucode_initrd;find . | cpio -o -H newc >
../$(DISTDIR)/common/ucode_initrd.cpio)
...
cat $(DISTDIR)/common/ucode_initrd.cpio \
$(DISTDIR)/common/_initramfs.cpio.gz > \
$(DISTDIR)/common/initramfs.cpio.gz

and as I just discovered, with a little twist: apparently
AMD_UCODE_PATH points to Intel microcode.
LOL!

@hpa: in case you were wondering whether Intel ucode works on AMD - it
doesn't! :-)

So we clearly screwed up on our end but I'd think that we shouldn't
crash when this happens.
Yes, we shouldn't. I'll try to reproduce it here.

So I tried this on a "good" system and I am pretty sure this is broken. I don't
have any microcode in initrd and I am still dying in load_microcode_amd().

I didn't dig any further but if you can't reproduce this I can look at what is
a NULL and why. (I suspect it's the 'container' variable).

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