[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v7 07/10] xen/common: move the memory_mapping DOMCTL hypercall to common code



Hi Arianna,

On 10/05/14 02:20, Arianna Avanzini wrote:
On 05/06/2014 06:54 PM, Julien Grall wrote:
Hi Arianna,

On 05/05/2014 04:54 PM, Arianna Avanzini wrote:
+            ret = iomem_permit_access(d, mfn, mfn_end);
+            if ( !ret )
+            {
+                ret = map_mmio_regions(d, gfn, nr_mfns, _mfn(mfn));

The code of map_mmio_regions differs between x86 on ARM.

On the former architecture, if Xen fails to map a page, it will unmap
all the previous page. It's not the case on ARM.


The map_mmio_regions() implementation for x86 (factored out from the
x86-specific code in patch 0006) includes also unmapping the pages in the case
of an error (even if I just realized that I made a mistake there by still using
the end gfn instead of the number of gfns). The ARM implementation is still the
original one, calling apply_p2m_changes().

For hypercall like memory_mapping DOMCTL, failing to map the whole region doesn't necessary mean the domain will be destroyed right after.

So it's not possible to have the region partially mapped in the guest.

I think you should call unmap in map_mmio_regions if Xen fails to map the whole region.

Regards,

--
Julien Grall

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.