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

[Xen-devel] [PATCH 2/2] tools/xenconsoled: Use XC_PAGE_SIZE rather than getpagesize()



From: Julien Grall <julien.grall@xxxxxxxxxx>

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 <julien.grall@xxxxxxxxxx>
---
 tools/console/daemon/io.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
index ac08b5b..e246c25 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) {
-- 
2.1.4


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