# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1286892401 -3600
# Node ID 73a05c8f7c3ec924c7a334a8840b54fcba31c3c1
# Parent b5ed73f6f9b57d90dd3816f20594977e240497c1
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>
diff -r b5ed73f6f9b5 -r 73a05c8f7c3e tools/libxc/xc_flask.c
--- a/tools/libxc/xc_flask.c Tue Oct 12 15:06:41 2010 +0100
+++ b/tools/libxc/xc_flask.c Tue Oct 12 15:06:41 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 b5ed73f6f9b5 -r 73a05c8f7c3e tools/libxc/xc_private.c
--- a/tools/libxc/xc_private.c Tue Oct 12 15:06:41 2010 +0100
+++ b/tools/libxc/xc_private.c Tue Oct 12 15:06:41 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 b5ed73f6f9b5 -r 73a05c8f7c3e tools/libxc/xc_private.h
--- a/tools/libxc/xc_private.h Tue Oct 12 15:06:41 2010 +0100
+++ b/tools/libxc/xc_private.h Tue Oct 12 15:06:41 2010 +0100
@@ -105,13 +105,6 @@ void unlock_pages(void *addr, size_t len
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);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|