[Xen-devel,1/2] tools/xenstored: Use XC_PAGE_SIZE rather than getpagesize()

Message ID 1431345336-5476-2-git-send-email-julien.grall@citrix.com
State New
Headers show

Commit Message

Julien Grall May 11, 2015, 11:55 a.m.
From: Julien Grall <julien.grall@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.grall@citrix.com>
---
 tools/xenstore/xenstored_domain.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch hide | download patch | download mbox

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)