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

From: Boris Ostrovsky
Date: Tue Nov 25 2014 - 13:40:47 EST


On 11/25/2014 01:24 PM, Borislav Petkov wrote:
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@xxxxxxx>

commit 85be07c32496dc264661308e4d9d4e9ccaff8072 upstream.

We should be accessing it through a pointer, like on the BSP.

Tested-by: Richard Hendershot <rshendershot@xxxxxxxxx>
Fixes: 65cef1311d5d ("x86, microcode: Add a disable chicken bit")
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

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


I don't think this routine is called on PV.


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