From: Julien Grall <julien.gr...@linaro.org>

Linux may not use the same page granularity as Xen. This will result to
a domain crash because it will try to map more page than required.

As the xenstore page size willl always be equal to a Xen page size, use
XC_PAGE_SIZE.

Signed-off-by: Julien Grall <julien.gr...@citrix.com>
---
 tools/xenstore/xenstored_domain.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c 
b/tools/xenstore/xenstored_domain.c
index 6d0394d..0776e39 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -172,7 +172,7 @@ static void *map_interface(domid_t domid, unsigned long mfn)
                        GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE);
        } else {
                return xc_map_foreign_range(*xc_handle, domid,
-                       getpagesize(), PROT_READ|PROT_WRITE, mfn);
+                       XC_PAGE_SIZE, PROT_READ|PROT_WRITE, mfn);
        }
 }
 
@@ -181,7 +181,7 @@ static void unmap_interface(void *interface)
        if (*xcg_handle != NULL)
                xc_gnttab_munmap(*xcg_handle, interface, 1);
        else
-               munmap(interface, getpagesize());
+               munmap(interface, XC_PAGE_SIZE);
 }
 
 static int destroy_domain(void *_domain)
-- 
2.1.4


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

Reply via email to