Messages in this thread | | | Date | Wed, 29 Jan 2014 00:22:19 +0100 | From | Borislav Petkov <> | Subject | Re: AMD microcode loading broken on 32 bit |
| |
On Tue, Jan 28, 2014 at 06:10:59PM -0500, Boris Ostrovsky wrote: > The patch seems to have fixed the problem.
Thanks, I'll add your Reported-and-tested-by.
>> I'll give it a spin. Apparently the problem is currently in >> install_equiv_cpu_table() when we are trying to index into buf and >> buf (which is container) doesn't appear to be there.
Yes.
> >Are you sure that > > > > container = (u8 *)(__va((u32)relocated_ramdisk) + > > ((u32)container - > >boot_params.hdr.ramdisk_image)); > > > >in save_microcode_in_initrd_amd() always results in a valid > >pointer? It is non-NULL but it > >points to address that looks to be not mapped.
Well, we unconditionally relocate the ramdisk to direct-mapped memory, see relocate_initrd(). I'll take a look at this tomorrow though, it is late here.
The good thing is, I can reproduce the initial crash you reported in qemu+kvm which makes everything very easy to play with. :)
-- Regards/Gruss, Boris.
Sent from a fat crate under my desk. Formatting is fine. --
| |