From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <5474CDCE.6040000@oracle.com> Date: Tue, 25 Nov 2014 13:43:26 -0500 From: Boris Ostrovsky MIME-Version: 1.0 To: Borislav Petkov CC: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, stable@vger.kernel.org, Richard Hendershot , Konrad Rzeszutek Wilk , David Vrabel Subject: Re: [PATCH 3.17 100/141] x86, microcode: Fix accessing dis_ucode_ldr on 32-bit References: <20141119205150.700188369@linuxfoundation.org> <20141119205153.916605840@linuxfoundation.org> <5474C67A.7040200@oracle.com> <20141125182410.GB4128@pd.tnic> In-Reply-To: <20141125182410.GB4128@pd.tnic> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: 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 >>> >>> commit 85be07c32496dc264661308e4d9d4e9ccaff8072 upstream. >>> >>> We should be accessing it through a pointer, like on the BSP. >>> >>> Tested-by: Richard Hendershot >>> Fixes: 65cef1311d5d ("x86, microcode: Add a disable chicken bit") >>> Signed-off-by: Borislav Petkov >>> Signed-off-by: Greg Kroah-Hartman >>> >>> --- >>> 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