All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xen: Simplify the space of spaces supported by XENMEM_add_to_physmap(_range)
@ 2013-01-22 11:39 Ian Campbell
  2013-01-22 12:17 ` Stefano Stabellini
  2013-01-22 20:04 ` Keir Fraser
  0 siblings, 2 replies; 4+ messages in thread
From: Ian Campbell @ 2013-01-22 11:39 UTC (permalink / raw)
  To: xen-devel; +Cc: tim, keir, stefano.stabellini, Ian Campbell, konrad.wilk

XENMAPSPACE_gmfn_foreign is not supported by XENMEM_add_to_physmap.

Although in theory XENMEM_add_to_physmap_range could support
XENMAPSPACE_gmfn_range this is no different to
XENMAPSPACE_gmfn in the context of the ranged hypercall so disallow it
to avoid any confusion.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/mm.c           |    6 +++++-
 xen/include/public/memory.h |    6 ++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index eb5213e..faa9742 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -648,7 +648,7 @@ long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( copy_from_guest(&xatp, arg, 1) )
             return -EFAULT;
 
-        /* This one is only supported by add_to_physmap_range */
+        /* Foreign mapping is only supported by add_to_physmap_range */
         if ( xatp.space == XENMAPSPACE_gmfn_foreign )
             return -EINVAL;
 
@@ -679,6 +679,10 @@ long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( copy_from_guest(&xatpr, arg, 1) )
             return -EFAULT;
 
+        /* This mapspace is redundant for this hypercall */
+        if ( xatpr.space == XENMAPSPACE_gmfn_range )
+            return -EINVAL;
+
         rc = rcu_lock_target_domain_by_id(xatpr.domid, &d);
         if ( rc != 0 )
             return rc;
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 62acabd..a248c07 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -203,8 +203,10 @@ DEFINE_XEN_GUEST_HANDLE(xen_machphys_mapping_t);
 #define XENMAPSPACE_shared_info  0 /* shared info page */
 #define XENMAPSPACE_grant_table  1 /* grant table page */
 #define XENMAPSPACE_gmfn         2 /* GMFN */
-#define XENMAPSPACE_gmfn_range   3 /* GMFN range */
-#define XENMAPSPACE_gmfn_foreign 4 /* GMFN from another dom */
+#define XENMAPSPACE_gmfn_range   3 /* GMFN range, XENMEM_add_to_physmap only. */
+#define XENMAPSPACE_gmfn_foreign 4 /* GMFN from another dom,
+                                    * XENMEM_add_to_physmap_range only.
+                                    */
 /* ` } */
 
 /*
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-01-24 13:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-22 11:39 [PATCH] xen: Simplify the space of spaces supported by XENMEM_add_to_physmap(_range) Ian Campbell
2013-01-22 12:17 ` Stefano Stabellini
2013-01-22 20:04 ` Keir Fraser
2013-01-24 13:18   ` Ian Campbell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.