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

Re: [Xen-devel] [PATCH v11 02/14] arch/arm: unmap partially-mapped memory regions



Hi Arianna,

On 24/08/14 16:29, Arianna Avanzini wrote:
  xen/arch/arm/p2m.c | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index b9129a0..0520f84 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -713,7 +713,7 @@ static int apply_p2m_changes(struct domain *d,
      int rc, ret;
      struct p2m_domain *p2m = &d->arch.p2m;
      lpae_t *first = NULL, *second = NULL, *third = NULL;
-    paddr_t addr;
+    paddr_t addr, orig_maddr = maddr;
      unsigned long cur_first_page = ~0,
                    cur_first_offset = ~0,
                    cur_second_offset = ~0;
@@ -844,6 +844,10 @@ out:
      if (third) unmap_domain_page(third);
      if (second) unmap_domain_page(second);
      if (first) unmap_domain_page(first);
+    if ( rc < 0 && ( op == INSERT || op == ALLOCATE ) )
+        apply_p2m_changes(d, REMOVE, start_gpaddr,
+                          end_gpaddr, orig_maddr,
+                          MATTR_DEV, p2m_invalid);

s/MATTR_DEV/mattr/

Also, with unmapping the whole range you may hit your warning added in the previous patch in some corner case. It could happen when the end of range already contains another mapping. But, I don't think it happen often. Maybe we can live with it for now?

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®.