Re: [PATCH 3.17 100/141] x86, microcode: Fix accessing dis_ucode_ldr on 32-bit

Borislav Petkov
2014-11-25T18:24:20Z

On Tue, Nov 25, 2014 at 01:12:10PM -0500, Boris Ostrovsky wrote:
> On 11/19/2014 03:52 PM, Greg Kroah-Hartman wrote:
> >3.17-stable review patch. If anyone has any objections, please let me know.
>
>
> This breaks PV on Xen.
>
> -boris
>
> >
> >------------------
> >
> >From: Borislav Petkov <bp@suse.de>
> >
> >commit 85be07c32496dc264661308e4d9d4e9ccaff8072 upstream.
> >
> >We should be accessing it through a pointer, like on the BSP.
> >
> >Tested-by: Richard Hendershot <rshendershot@mchsi.com>
> >Fixes: 65cef1311d5d ("x86, microcode: Add a disable chicken bit")
> >Signed-off-by: Borislav Petkov <bp@suse.de>
> >Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> >
> >---
> > arch/x86/kernel/cpu/microcode/core_early.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >--- a/arch/x86/kernel/cpu/microcode/core_early.c
> >+++ b/arch/x86/kernel/cpu/microcode/core_early.c
> >@@ -124,7 +124,7 @@ void __init load_ucode_bsp(void)
> > static bool check_loader_disabled_ap(void)
> > {
> > #ifdef CONFIG_X86_32
> >- return __pa_nodebug(dis_ucode_ldr);
> >+ return *((bool *)__pa_nodebug(&dis_ucode_ldr));

And practically the same line in check_loader_disabled_bsp() doesn't?

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--