Re: [PATCH v3 7/7] xen/memory: Fix mapping grant tables with XENMEM_acquire_resource

2021-02-01 Thread Jan Beulich
On 29.01.2021 19:18, Andrew Cooper wrote: > On 29/01/2021 09:46, Jan Beulich wrote: >> On 29.01.2021 00:44, Andrew Cooper wrote: >>> On 15/01/2021 16:12, Jan Beulich wrote: On 12.01.2021 20:48, Andrew Cooper wrote: > --- a/xen/arch/x86/mm.c > +++ b/xen/arch/x86/mm.c > @@ -4628,7 +4

Re: [PATCH v3 7/7] xen/memory: Fix mapping grant tables with XENMEM_acquire_resource

2021-01-29 Thread Andrew Cooper
On 29/01/2021 09:46, Jan Beulich wrote: > On 29.01.2021 00:44, Andrew Cooper wrote: >> On 15/01/2021 16:12, Jan Beulich wrote: >>> On 12.01.2021 20:48, Andrew Cooper wrote: --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -4628,7 +4628,6 @@ int arch_acquire_resource(struct domain *

Re: [PATCH v3 7/7] xen/memory: Fix mapping grant tables with XENMEM_acquire_resource

2021-01-29 Thread Jan Beulich
On 29.01.2021 00:44, Andrew Cooper wrote: > On 15/01/2021 16:12, Jan Beulich wrote: >> On 12.01.2021 20:48, Andrew Cooper wrote: >>> --- a/xen/arch/x86/mm.c >>> +++ b/xen/arch/x86/mm.c >>> @@ -4628,7 +4628,6 @@ int arch_acquire_resource(struct domain *d, unsigned >>> int type, >>> if ( id

Re: [PATCH v3 7/7] xen/memory: Fix mapping grant tables with XENMEM_acquire_resource

2021-01-28 Thread Andrew Cooper
On 15/01/2021 16:12, Jan Beulich wrote: > On 12.01.2021 20:48, Andrew Cooper wrote: >> --- a/xen/arch/x86/mm.c >> +++ b/xen/arch/x86/mm.c >> @@ -4628,7 +4628,6 @@ int arch_acquire_resource(struct domain *d, unsigned >> int type, >> if ( id != (unsigned int)ioservid ) >> break

Re: [PATCH v3 7/7] xen/memory: Fix mapping grant tables with XENMEM_acquire_resource

2021-01-15 Thread Jan Beulich
On 12.01.2021 20:48, Andrew Cooper wrote: > --- a/xen/arch/x86/mm.c > +++ b/xen/arch/x86/mm.c > @@ -4628,7 +4628,6 @@ int arch_acquire_resource(struct domain *d, unsigned > int type, > if ( id != (unsigned int)ioservid ) > break; > > -rc = 0; > for ( i = 0;

[PATCH v3 7/7] xen/memory: Fix mapping grant tables with XENMEM_acquire_resource

2021-01-12 Thread Andrew Cooper
A guest's default number of grant frames is 64, and XENMEM_acquire_resource will reject an attempt to map more than 32 frames. This limit is caused by the size of mfn_list[] on the stack. Fix mapping of arbitrary size requests by looping over batches of 32 in acquire_resource(), and using hyperca