Re: [Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-27 Thread Jan Beulich
>>> On 27.05.15 at 14:03, wrote: > On 05/27/2015 12:59 PM, Jan Beulich wrote: > On 27.05.15 at 12:23, wrote: >>> On 05/18/2015 03:58 PM, Jan Beulich wrote: >>> On 15.05.15 at 18:08, wrote: > --- a/xen/arch/x86/domain_page.c > +++ b/xen/arch/x86/domain_page.c > @@ -32,20 +32,2

Re: [Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-27 Thread Ross Lagerwall
On 05/27/2015 12:59 PM, Jan Beulich wrote: On 27.05.15 at 12:23, wrote: On 05/18/2015 03:58 PM, Jan Beulich wrote: On 15.05.15 at 18:08, wrote: --- a/xen/arch/x86/domain_page.c +++ b/xen/arch/x86/domain_page.c @@ -32,20 +32,25 @@ static inline struct vcpu *mapcache_current_vcpu(void)

Re: [Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-27 Thread Jan Beulich
>>> On 27.05.15 at 12:23, wrote: > On 05/18/2015 03:58 PM, Jan Beulich wrote: > On 15.05.15 at 18:08, wrote: >>> --- a/xen/arch/x86/domain_page.c >>> +++ b/xen/arch/x86/domain_page.c >>> @@ -32,20 +32,25 @@ static inline struct vcpu *mapcache_current_vcpu(void) >>> return NULL; >>>

Re: [Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-27 Thread Ross Lagerwall
On 05/18/2015 03:58 PM, Jan Beulich wrote: On 15.05.15 at 18:08, wrote: --- a/xen/arch/x86/domain_page.c +++ b/xen/arch/x86/domain_page.c @@ -32,20 +32,25 @@ static inline struct vcpu *mapcache_current_vcpu(void) return NULL; /* + * When using efi runtime page tables, we ha

Re: [Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-18 Thread Jan Beulich
>>> On 15.05.15 at 18:08, wrote: > --- a/xen/arch/x86/domain_page.c > +++ b/xen/arch/x86/domain_page.c > @@ -32,20 +32,25 @@ static inline struct vcpu *mapcache_current_vcpu(void) > return NULL; > > /* > + * When using efi runtime page tables, we have the equivalent of the idle

Re: [Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-18 Thread Jan Beulich
>>> On 15.05.15 at 19:41, wrote: > On 15/05/15 17:08, Ross Lagerwall wrote: >> When an interrupt is received during an EFI runtime service call, Xen >> may call map_domain_page() while using the EFI runtime page tables. >> This fails because, although the EFI runtime page tables are a >> copy of t

Re: [Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-18 Thread Jan Beulich
>>> On 15.05.15 at 18:08, wrote: > --- a/xen/arch/x86/domain_page.c > +++ b/xen/arch/x86/domain_page.c > @@ -32,20 +32,25 @@ static inline struct vcpu *mapcache_current_vcpu(void) > return NULL; > > /* > + * When using efi runtime page tables, we have the equivalent of the idle

Re: [Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-18 Thread Andrew Cooper
On 18/05/15 10:02, Jan Beulich wrote: On 15.05.15 at 19:41, wrote: >> On 15/05/15 17:08, Ross Lagerwall wrote: >>> When an interrupt is received during an EFI runtime service call, Xen >>> may call map_domain_page() while using the EFI runtime page tables. >>> This fails because, although the

Re: [Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-15 Thread Andrew Cooper
On 15/05/15 17:08, Ross Lagerwall wrote: > When an interrupt is received during an EFI runtime service call, Xen > may call map_domain_page() while using the EFI runtime page tables. > This fails because, although the EFI runtime page tables are a > copy of the idle domain's page tables, current po

[Xen-devel] [PATCH] x86: Don't crash when mapping a page using EFI runtime page tables

2015-05-15 Thread Ross Lagerwall
When an interrupt is received during an EFI runtime service call, Xen may call map_domain_page() while using the EFI runtime page tables. This fails because, although the EFI runtime page tables are a copy of the idle domain's page tables, current points at a different domain's vCPU. To fix this,