From: Julien Grall Date: Mon, 11 May 2015 11:55:36 +0000 (+0100) Subject: tools/xenconsoled: Use XC_PAGE_SIZE rather than getpagesize() X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2910 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=506f87ba82459f30d5466188963c5c14a2eb6362;p=xen.git tools/xenconsoled: Use XC_PAGE_SIZE rather than getpagesize() 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 console page size will always be equal to a Xen page size, use XC_PAGE_SIZE. Signed-off-by: Julien Grall Acked-by: Wei Liu Acked-by: Ian Campbell --- diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c index ac08b5b48a..e246c25eeb 100644 --- a/tools/console/daemon/io.c +++ b/tools/console/daemon/io.c @@ -523,7 +523,7 @@ static void domain_unmap_interface(struct domain *dom) if (xcg_handle && dom->ring_ref == -1) xc_gnttab_munmap(xcg_handle, dom->interface, 1); else - munmap(dom->interface, getpagesize()); + munmap(dom->interface, XC_PAGE_SIZE); dom->interface = NULL; dom->ring_ref = -1; } @@ -562,7 +562,7 @@ static int domain_create_ring(struct domain *dom) if (!dom->interface) { /* Fall back to xc_map_foreign_range */ dom->interface = xc_map_foreign_range( - xc, dom->domid, getpagesize(), + xc, dom->domid, XC_PAGE_SIZE, PROT_READ|PROT_WRITE, (unsigned long)ring_ref); if (dom->interface == NULL) {