Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-06-06 Thread Wei Liu
On Mon, Jun 06, 2016 at 03:40:33PM +0200, Egger, Christoph wrote:
> On 27.05.16 15:30, Haozhong Zhang wrote:
> > Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
> > address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
> > injecting through MSR_MCI_ADDR" forgot to consider reserved domain
> > ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in turn
> > causes bug reported by
> > http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
> > 
> > This patch removes MC_MSRINK_F_GPADDR flag and checks this when injecting
> > to reserved domain IDs except DOMID_SELF, and treats the passed-in
> > address as host machine address.
> > 
> > Signed-off-by: Haozhong Zhang 
> 
> Acked-by: Christoph Egger 
> 

Thanks! I will see what I can with it for 4.7.0.

Wei.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-06-06 Thread Egger, Christoph
On 27.05.16 15:30, Haozhong Zhang wrote:
> Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
> address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
> injecting through MSR_MCI_ADDR" forgot to consider reserved domain
> ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in turn
> causes bug reported by
> http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
> 
> This patch removes MC_MSRINK_F_GPADDR flag and checks this when injecting
> to reserved domain IDs except DOMID_SELF, and treats the passed-in
> address as host machine address.
> 
> Signed-off-by: Haozhong Zhang 

Acked-by: Christoph Egger 

> ---
> Changes in v3:
>  * Refine check condition of domid.
> 
> Changes in v2:
>  * Consider all reserved domain IDs rather than just DOMID_XEN.
> 
> v1 can be found at
> http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02534.html.
> ---
>  tools/tests/mce-test/tools/xen-mceinj.c |  5 -
>  xen/arch/x86/cpu/mcheck/mce.c   | 14 +++---
>  2 files changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/tests/mce-test/tools/xen-mceinj.c 
> b/tools/tests/mce-test/tools/xen-mceinj.c
> index 061ec7c..51abc8a 100644
> --- a/tools/tests/mce-test/tools/xen-mceinj.c
> +++ b/tools/tests/mce-test/tools/xen-mceinj.c
> @@ -317,7 +317,10 @@ static int inject_mci_addr(xc_interface *xc_handle,
> domid_t domid)
>  {
>  return add_msr_bank_intpose(xc_handle, cpu_nr,
> -MC_MSRINJ_F_INTERPOSE | MC_MSRINJ_F_GPADDR,
> +MC_MSRINJ_F_INTERPOSE |
> +((domid >= DOMID_FIRST_RESERVED &&
> +  domid != DOMID_SELF) ?
> + 0 : MC_MSRINJ_F_GPADDR),
>  MCi_type_ADDR, bank, val, domid);
>  }
>  
> diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
> index cc446eb..0244553 100644
> --- a/xen/arch/x86/cpu/mcheck/mce.c
> +++ b/xen/arch/x86/cpu/mcheck/mce.c
> @@ -1427,6 +1427,7 @@ long do_mca(XEN_GUEST_HANDLE_PARAM(xen_mc_t) u_xen_mc)
>  
>  if ( mc_msrinject->mcinj_flags & MC_MSRINJ_F_GPADDR )
>  {
> +domid_t domid;
>  struct domain *d;
>  struct mcinfo_msr *msr;
>  unsigned int i;
> @@ -1434,10 +1435,17 @@ long do_mca(XEN_GUEST_HANDLE_PARAM(xen_mc_t) u_xen_mc)
>  unsigned long gfn, mfn;
>  p2m_type_t t;
>  
> -d = get_domain_by_id(mc_msrinject->mcinj_domid);
> +domid = (mc_msrinject->mcinj_domid == DOMID_SELF) ?
> +current->domain->domain_id : mc_msrinject->mcinj_domid;
> +if ( domid >= DOMID_FIRST_RESERVED )
> +return x86_mcerr("do_mca inject: incompatible flag "
> + "MC_MSRINJ_F_GPADDR with domain %d",
> + -EINVAL, domid);
> +
> +d = get_domain_by_id(domid);
>  if ( d == NULL )
>  return x86_mcerr("do_mca inject: bad domain id %d",
> - -EINVAL, mc_msrinject->mcinj_domid);
> + -EINVAL, domid);
>  
>  for ( i = 0, msr = _msrinject->mcinj_msr[0];
>i < mc_msrinject->mcinj_count;
> @@ -1452,7 +1460,7 @@ long do_mca(XEN_GUEST_HANDLE_PARAM(xen_mc_t) u_xen_mc)
>  put_gfn(d, gfn);
>  put_domain(d);
>  return x86_mcerr("do_mca inject: bad gfn %#lx of domain 
> %d",
> - -EINVAL, gfn, 
> mc_msrinject->mcinj_domid);
> + -EINVAL, gfn, domid);
>  }
>  
>  msr->value = pfn_to_paddr(mfn) | (gaddr & (PAGE_SIZE - 1));
> 


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-06-06 Thread Wei Liu
On Wed, Jun 01, 2016 at 02:38:17PM +0800, Haozhong Zhang wrote:
> On 05/27/16 17:16, Wei Liu wrote:
> > On Fri, May 27, 2016 at 05:14:08PM +0100, Wei Liu wrote:
> > > On Fri, May 27, 2016 at 10:06:31AM -0600, Jan Beulich wrote:
> > > > >>> On 27.05.16 at 17:31,  wrote:
> > > > > On Fri, May 27, 2016 at 03:06:08PM +0100, Wei Liu wrote:
> > > > >> On Fri, May 27, 2016 at 08:03:42AM -0600, Jan Beulich wrote:
> > > > >> > >>> On 27.05.16 at 15:30,  wrote:
> > > > >> > > Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
> > > > >> > > address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
> > > > >> > > injecting through MSR_MCI_ADDR" forgot to consider reserved 
> > > > >> > > domain
> > > > >> > > ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in 
> > > > >> > > turn
> > > > >> > > causes bug reported by
> > > > >> > > http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
> > > > >> > > 
> > > > >> > > This patch removes MC_MSRINK_F_GPADDR flag and checks this when 
> > > > >> > > injecting
> > > > >> > > to reserved domain IDs except DOMID_SELF, and treats the 
> > > > >> > > passed-in
> > > > >> > > address as host machine address.
> > > > >> > > 
> > > > >> > > Signed-off-by: Haozhong Zhang 
> > > > >> > 
> > > > >> > Reviewed-by: Jan Beulich 
> > > > >> > 
> > > > >> 
> > > > >> Release-acked-by: Wei Liu 
> > > > > 
> > > > > And queued.
> > > > 
> > > > Please wait for a maintainer ack.
> > > > 
> > > 
> > > $ ./scripts/get_maintainer.pl -f xen/arch/x86/cpu/mcheck/mce.c
> > > Christoph Egger 
> > > Liu Jinsong 
> > > Jan Beulich 
> > > Andrew Cooper 
> > > xen-devel@lists.xen.org
> > > 
> > 
> > OK, so looking at MAINTAINERS file:
> > 
> > MACHINE CHECK (MCA) & RAS
> > M:  Christoph Egger 
> > M:  Liu Jinsong 
> > S:  Supported
> > F:  xen/arch/x86/cpu/mcheck/
> > 
> > I will revert this patch now. Sorry for all the trouble!
> > 
> > Wei.
> 
> Hi Christoph and Jinsong,
> 
> Could you help to look at this patch set?
> 

I think this is a bit too late for 4.7.0.

It can be backported when Christoph and Jinsong get around to it.

Wei.

> Thanks,
> Haozhong

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-06-01 Thread Haozhong Zhang
On 05/27/16 17:16, Wei Liu wrote:
> On Fri, May 27, 2016 at 05:14:08PM +0100, Wei Liu wrote:
> > On Fri, May 27, 2016 at 10:06:31AM -0600, Jan Beulich wrote:
> > > >>> On 27.05.16 at 17:31,  wrote:
> > > > On Fri, May 27, 2016 at 03:06:08PM +0100, Wei Liu wrote:
> > > >> On Fri, May 27, 2016 at 08:03:42AM -0600, Jan Beulich wrote:
> > > >> > >>> On 27.05.16 at 15:30,  wrote:
> > > >> > > Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
> > > >> > > address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
> > > >> > > injecting through MSR_MCI_ADDR" forgot to consider reserved domain
> > > >> > > ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in 
> > > >> > > turn
> > > >> > > causes bug reported by
> > > >> > > http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
> > > >> > > 
> > > >> > > This patch removes MC_MSRINK_F_GPADDR flag and checks this when 
> > > >> > > injecting
> > > >> > > to reserved domain IDs except DOMID_SELF, and treats the passed-in
> > > >> > > address as host machine address.
> > > >> > > 
> > > >> > > Signed-off-by: Haozhong Zhang 
> > > >> > 
> > > >> > Reviewed-by: Jan Beulich 
> > > >> > 
> > > >> 
> > > >> Release-acked-by: Wei Liu 
> > > > 
> > > > And queued.
> > > 
> > > Please wait for a maintainer ack.
> > > 
> > 
> > $ ./scripts/get_maintainer.pl -f xen/arch/x86/cpu/mcheck/mce.c
> > Christoph Egger 
> > Liu Jinsong 
> > Jan Beulich 
> > Andrew Cooper 
> > xen-devel@lists.xen.org
> > 
> 
> OK, so looking at MAINTAINERS file:
> 
> MACHINE CHECK (MCA) & RAS
> M:  Christoph Egger 
> M:  Liu Jinsong 
> S:  Supported
> F:  xen/arch/x86/cpu/mcheck/
> 
> I will revert this patch now. Sorry for all the trouble!
> 
> Wei.

Hi Christoph and Jinsong,

Could you help to look at this patch set?

Thanks,
Haozhong

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-05-27 Thread Wei Liu
On Fri, May 27, 2016 at 05:14:08PM +0100, Wei Liu wrote:
> On Fri, May 27, 2016 at 10:06:31AM -0600, Jan Beulich wrote:
> > >>> On 27.05.16 at 17:31,  wrote:
> > > On Fri, May 27, 2016 at 03:06:08PM +0100, Wei Liu wrote:
> > >> On Fri, May 27, 2016 at 08:03:42AM -0600, Jan Beulich wrote:
> > >> > >>> On 27.05.16 at 15:30,  wrote:
> > >> > > Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
> > >> > > address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
> > >> > > injecting through MSR_MCI_ADDR" forgot to consider reserved domain
> > >> > > ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in turn
> > >> > > causes bug reported by
> > >> > > http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
> > >> > > 
> > >> > > This patch removes MC_MSRINK_F_GPADDR flag and checks this when 
> > >> > > injecting
> > >> > > to reserved domain IDs except DOMID_SELF, and treats the passed-in
> > >> > > address as host machine address.
> > >> > > 
> > >> > > Signed-off-by: Haozhong Zhang 
> > >> > 
> > >> > Reviewed-by: Jan Beulich 
> > >> > 
> > >> 
> > >> Release-acked-by: Wei Liu 
> > > 
> > > And queued.
> > 
> > Please wait for a maintainer ack.
> > 
> 
> $ ./scripts/get_maintainer.pl -f xen/arch/x86/cpu/mcheck/mce.c
> Christoph Egger 
> Liu Jinsong 
> Jan Beulich 
> Andrew Cooper 
> xen-devel@lists.xen.org
> 

OK, so looking at MAINTAINERS file:

MACHINE CHECK (MCA) & RAS
M:  Christoph Egger 
M:  Liu Jinsong 
S:  Supported
F:  xen/arch/x86/cpu/mcheck/

I will revert this patch now. Sorry for all the trouble!

Wei.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-05-27 Thread Wei Liu
On Fri, May 27, 2016 at 10:06:31AM -0600, Jan Beulich wrote:
> >>> On 27.05.16 at 17:31,  wrote:
> > On Fri, May 27, 2016 at 03:06:08PM +0100, Wei Liu wrote:
> >> On Fri, May 27, 2016 at 08:03:42AM -0600, Jan Beulich wrote:
> >> > >>> On 27.05.16 at 15:30,  wrote:
> >> > > Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
> >> > > address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
> >> > > injecting through MSR_MCI_ADDR" forgot to consider reserved domain
> >> > > ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in turn
> >> > > causes bug reported by
> >> > > http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
> >> > > 
> >> > > This patch removes MC_MSRINK_F_GPADDR flag and checks this when 
> >> > > injecting
> >> > > to reserved domain IDs except DOMID_SELF, and treats the passed-in
> >> > > address as host machine address.
> >> > > 
> >> > > Signed-off-by: Haozhong Zhang 
> >> > 
> >> > Reviewed-by: Jan Beulich 
> >> > 
> >> 
> >> Release-acked-by: Wei Liu 
> > 
> > And queued.
> 
> Please wait for a maintainer ack.
> 

$ ./scripts/get_maintainer.pl -f xen/arch/x86/cpu/mcheck/mce.c
Christoph Egger 
Liu Jinsong 
Jan Beulich 
Andrew Cooper 
xen-devel@lists.xen.org

So I took it that your review was sufficient and pushed it.

It's already in staging. I can revert it now.

Wei.

> Jan
> 
> 
> ___
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-05-27 Thread Jan Beulich
>>> On 27.05.16 at 17:31,  wrote:
> On Fri, May 27, 2016 at 03:06:08PM +0100, Wei Liu wrote:
>> On Fri, May 27, 2016 at 08:03:42AM -0600, Jan Beulich wrote:
>> > >>> On 27.05.16 at 15:30,  wrote:
>> > > Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
>> > > address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
>> > > injecting through MSR_MCI_ADDR" forgot to consider reserved domain
>> > > ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in turn
>> > > causes bug reported by
>> > > http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
>> > > 
>> > > This patch removes MC_MSRINK_F_GPADDR flag and checks this when injecting
>> > > to reserved domain IDs except DOMID_SELF, and treats the passed-in
>> > > address as host machine address.
>> > > 
>> > > Signed-off-by: Haozhong Zhang 
>> > 
>> > Reviewed-by: Jan Beulich 
>> > 
>> 
>> Release-acked-by: Wei Liu 
> 
> And queued.

Please wait for a maintainer ack.

Jan


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-05-27 Thread Wei Liu
On Fri, May 27, 2016 at 03:06:08PM +0100, Wei Liu wrote:
> On Fri, May 27, 2016 at 08:03:42AM -0600, Jan Beulich wrote:
> > >>> On 27.05.16 at 15:30,  wrote:
> > > Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
> > > address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
> > > injecting through MSR_MCI_ADDR" forgot to consider reserved domain
> > > ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in turn
> > > causes bug reported by
> > > http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
> > > 
> > > This patch removes MC_MSRINK_F_GPADDR flag and checks this when injecting
> > > to reserved domain IDs except DOMID_SELF, and treats the passed-in
> > > address as host machine address.
> > > 
> > > Signed-off-by: Haozhong Zhang 
> > 
> > Reviewed-by: Jan Beulich 
> > 
> 
> Release-acked-by: Wei Liu 

And queued.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-05-27 Thread Jan Beulich
>>> On 27.05.16 at 15:30,  wrote:
> Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
> address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
> injecting through MSR_MCI_ADDR" forgot to consider reserved domain
> ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in turn
> causes bug reported by
> http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
> 
> This patch removes MC_MSRINK_F_GPADDR flag and checks this when injecting
> to reserved domain IDs except DOMID_SELF, and treats the passed-in
> address as host machine address.
> 
> Signed-off-by: Haozhong Zhang 

Reviewed-by: Jan Beulich 


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v3] x86/mce: handle reserved domain ID in XEN_MC_msrinject

2016-05-27 Thread Wei Liu
On Fri, May 27, 2016 at 08:03:42AM -0600, Jan Beulich wrote:
> >>> On 27.05.16 at 15:30,  wrote:
> > Commit 26646f3 "x86/mce: translate passed-in GPA to host machine
> > address" and commit 4ddf474 "tools/xen-mceinj: Pass in GPA when
> > injecting through MSR_MCI_ADDR" forgot to consider reserved domain
> > ID and mistakenly add MC_MSRINJ_F_GPADDR flag for them, which in turn
> > causes bug reported by
> > http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02640.html.
> > 
> > This patch removes MC_MSRINK_F_GPADDR flag and checks this when injecting
> > to reserved domain IDs except DOMID_SELF, and treats the passed-in
> > address as host machine address.
> > 
> > Signed-off-by: Haozhong Zhang 
> 
> Reviewed-by: Jan Beulich 
> 

Release-acked-by: Wei Liu 

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel