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

[Xen-changelog] [xen-unstable] libxc: flask: use (un)lock pages rather than open coding m(un)lock.



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1287416595 -3600
# Node ID 86cf01f3d737445f274b579e7bc0fa647b017e65
# Parent  fc2242ac90e1f60d93c598e03f02abe8ada0ca73
libxc: flask: use (un)lock pages rather than open coding m(un)lock.

Allows us to do away with safe_unlock and merge into unlock_pages.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 tools/libxc/xc_flask.c   |    4 ++--
 tools/libxc/xc_private.c |    4 +++-
 tools/libxc/xc_private.h |    7 -------
 3 files changed, 5 insertions(+), 10 deletions(-)

diff -r fc2242ac90e1 -r 86cf01f3d737 tools/libxc/xc_flask.c
--- a/tools/libxc/xc_flask.c    Mon Oct 18 11:31:47 2010 +0100
+++ b/tools/libxc/xc_flask.c    Mon Oct 18 16:43:15 2010 +0100
@@ -44,7 +44,7 @@ int xc_flask_op(xc_interface *xch, flask
     hypercall.op     = __HYPERVISOR_xsm_op;
     hypercall.arg[0] = (unsigned long)op;
 
-    if ( mlock(op, sizeof(*op)) != 0 )
+    if ( lock_pages(op, sizeof(*op)) != 0 )
     {
         PERROR("Could not lock memory for Xen hypercall");
         goto out;
@@ -56,7 +56,7 @@ int xc_flask_op(xc_interface *xch, flask
             fprintf(stderr, "XSM operation failed!\n");
     }
 
-    safe_munlock(op, sizeof(*op));
+    unlock_pages(op, sizeof(*op));
 
  out:
     return ret;
diff -r fc2242ac90e1 -r 86cf01f3d737 tools/libxc/xc_private.c
--- a/tools/libxc/xc_private.c  Mon Oct 18 11:31:47 2010 +0100
+++ b/tools/libxc/xc_private.c  Mon Oct 18 16:43:15 2010 +0100
@@ -218,7 +218,9 @@ void unlock_pages(void *addr, size_t len
     void *laddr = (void *)((unsigned long)addr & PAGE_MASK);
     size_t llen = (len + ((unsigned long)addr - (unsigned long)laddr) +
                    PAGE_SIZE - 1) & PAGE_MASK;
-    safe_munlock(laddr, llen);
+    int saved_errno = errno;
+    (void)munlock(laddr, llen);
+    errno = saved_errno;
 }
 
 static pthread_key_t hcall_buf_pkey;
diff -r fc2242ac90e1 -r 86cf01f3d737 tools/libxc/xc_private.h
--- a/tools/libxc/xc_private.h  Mon Oct 18 11:31:47 2010 +0100
+++ b/tools/libxc/xc_private.h  Mon Oct 18 16:43:15 2010 +0100
@@ -106,13 +106,6 @@ int hcall_buf_prep(void **addr, size_t l
 int hcall_buf_prep(void **addr, size_t len);
 void hcall_buf_release(void **addr, size_t len);
 
-static inline void safe_munlock(const void *addr, size_t len)
-{
-    int saved_errno = errno;
-    (void)munlock(addr, len);
-    errno = saved_errno;
-}
-
 int do_xen_hypercall(xc_interface *xch, privcmd_hypercall_t *hypercall);
 
 static inline int do_xen_version(xc_interface *xch, int cmd, void *dest)

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.