lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 17 Apr 2012 17:06:49 +0000
From:	"Liu, Jinsong" <jinsong.liu@...el.com>
To:	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
CC:	"xen-devel@...ts.xensource.com" <xen-devel@...ts.xensource.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 2/2] Register native mce handler as vMCE bounce back
 point

Konrad Rzeszutek Wilk wrote:
> On Tue, Apr 17, 2012 at 12:55:49PM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>> On Mon, Apr 16, 2012 at 01:07:35AM +0000, Liu, Jinsong wrote:
>>>>> From 76e40a60878ff72986fd8d92611400195ae0f997 Mon Sep 17 00:00:00
>>>>> 2001
>>>> From: Liu, Jinsong <jinsong.liu@...el.com>
>>>> Date: Mon, 16 Apr 2012 00:16:58 +0800
>>>> Subject: [PATCH 2/2] Register native mce handler as vMCE bounce
>>>> back point 
>>>> 
>>>> When xen hyeprvisor inject vMCE to guest, use native mce handler to
>>>> handle it
>>> 
>>> hypervisor
>>> 
>>>> 
>>>> Signed-off-by: Liu, Jinsong <jinsong.liu@...el.com>
>>>> Signed-off-by: Ke, Liping <liping.ke@...el.com>
>>>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@...el.com>
>>>> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@...rix.com>
>>>>  --- arch/x86/xen/enlighten.c |   10 +++++++---
>>>>  1 files changed, 7 insertions(+), 3 deletions(-)
>>>> 
>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>> index 15628d4..346ba64 100644 --- a/arch/x86/xen/enlighten.c
>>>> +++ b/arch/x86/xen/enlighten.c
>>>> @@ -614,8 +614,8 @@ static int cvt_gate_to_trap(int vector, const
>>>> gate_desc *val,  	/* 
>>>>  	 * Look for known traps using IST, and substitute them
>>>>  	 * appropriately.  The debugger ones are the only ones we care
>>>> -	 * about.  Xen will handle faults like double_fault and
>>>> -	 * machine_check, so we should never see them.  Warn if
>>>> +	 * about.  Xen will handle faults like double_fault,
>>>> +	 * so we should never see them.  Warn if
>>>>  	 * there's an unexpected IST-using fault handler.  	 */
>>>>  	if (addr == (unsigned long)debug)
>>>> @@ -630,7 +630,11 @@ static int cvt_gate_to_trap(int vector, const
>>>>  gate_desc *val,  		return 0; #ifdef CONFIG_X86_MCE
>>>>  	} else if (addr == (unsigned long)machine_check) { -		return 0;
>>>> +		/* +		 * when xen hyeprvisor inject vMCE to guest,
>>>> +		 * use native mce handler to handle it
>>>> +		 */
>>>> +		;
>>> 
>>> 
>>> Can you just take the check out?
>> 
>> What do you mean by 'check out'? remove
>> else if (addr == (unsigned long) machine_check) {
>> 	;
>> }
>> ?
>> 
>> That would fail to register mce bounce back point.
> 
> Right, b/c right after we hit this check:
>   /* Some other trap using IST? */
>  639                 if (WARN_ON(val->ist != 0))
>  640                         return 0;
>  641         }
> 
> .. And the val->ist is not set for MCEs right?

No, mce ist is set as 0/5 (32/64), set_intr_gate_ist(X86_TRAP_MC, &machine_check, MCE_STACK); 

> 
>> 
>>> 
>>> 
>>>>  #endif
>>>>  	} else {
>>>>  		/* Some other trap using IST? */
>>>> --
>>>> 1.7.1
>> 
>> --
>> To unsubscribe from this list: send the line "unsubscribe
>> linux-kernel" in the body of a message to majordomo@...r.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ