# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1192716723 -3600
# Node ID 789e4303b33094036dccb5a4063b7d28b0c9bbeb
# Parent 9ea5f4c1feb5f0f0899f695d1eb77a21ceb90a1c
tools: Remove bogus external uses of xc_private.h. Clean up libflask.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
tools/flask/libflask/include/flask_op.h | 46 --------------------------------
tools/flask/libflask/Makefile | 2 -
tools/flask/libflask/flask_op.c | 40 ++++-----------------------
tools/flask/libflask/include/flask.h | 22 +++++++++++++++
tools/flask/loadpolicy/loadpolicy.c | 3 --
tools/ioemu/hw/xen_platform.c | 1
tools/libxc/Makefile | 3 +-
tools/libxc/xc_flask.c | 46 ++++++++++++++++++++++++++++++++
tools/libxc/xenctrl.h | 3 ++
tools/python/xen/lowlevel/flask/flask.c | 3 --
10 files changed, 82 insertions(+), 87 deletions(-)
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/flask/libflask/Makefile
--- a/tools/flask/libflask/Makefile Thu Oct 18 11:11:40 2007 +0100
+++ b/tools/flask/libflask/Makefile Thu Oct 18 15:12:03 2007 +0100
@@ -39,7 +39,7 @@ install: build
$(INSTALL_DATA) libflask.a $(DESTDIR)/usr/$(LIBDIR)
ln -sf libflask.so.$(MAJOR).$(MINOR)
$(DESTDIR)/usr/$(LIBDIR)/libflask.so.$(MAJOR)
ln -sf libflask.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libflask.so
- $(INSTALL_DATA) include/flask_op.h $(DESTDIR)/usr/include
+ $(INSTALL_DATA) include/flask.h $(DESTDIR)/usr/include
.PHONY: TAGS
TAGS:
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/flask/libflask/flask_op.c
--- a/tools/flask/libflask/flask_op.c Thu Oct 18 11:11:40 2007 +0100
+++ b/tools/flask/libflask/flask_op.c Thu Oct 18 15:12:03 2007 +0100
@@ -17,11 +17,10 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
+#include <stdint.h>
#include <sys/ioctl.h>
-
-#include <xc_private.h>
-
-#include <flask_op.h>
+#include <flask.h>
+#include <xenctrl.h>
int flask_load(int xc_handle, char *buf, int size)
{
@@ -32,7 +31,7 @@ int flask_load(int xc_handle, char *buf,
op.buf = buf;
op.size = size;
- if ( (err = do_flask_op(xc_handle, &op)) != 0 )
+ if ( (err = xc_flask_op(xc_handle, &op)) != 0 )
return err;
return 0;
@@ -47,7 +46,7 @@ int flask_context_to_sid(int xc_handle,
op.buf = buf;
op.size = size;
- if ( (err = do_flask_op(xc_handle, &op)) != 0 )
+ if ( (err = xc_flask_op(xc_handle, &op)) != 0 )
return err;
sscanf(buf, "%u", sid);
@@ -66,35 +65,8 @@ int flask_sid_to_context(int xc_handle,
snprintf(buf, size, "%u", sid);
- if ( (err = do_flask_op(xc_handle, &op)) != 0 )
+ if ( (err = xc_flask_op(xc_handle, &op)) != 0 )
return err;
return 0;
}
-
-int do_flask_op(int xc_handle, flask_op_t *op)
-{
- int ret = -1;
- DECLARE_HYPERCALL;
-
- hypercall.op = __HYPERVISOR_xsm_op;
- hypercall.arg[0] = (unsigned long)op;
-
- if ( mlock(op, sizeof(*op)) != 0 )
- {
- PERROR("Could not lock memory for Xen hypercall");
- goto out;
- }
-
- if ( (ret = do_xen_hypercall(xc_handle, &hypercall)) < 0 )
- {
- if ( errno == EACCES )
- fprintf(stderr, "XSM operation failed!\n");
- }
-
- safe_munlock(op, sizeof(*op));
-
- out:
- return ret;
-}
-
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/flask/libflask/include/flask.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/flask/libflask/include/flask.h Thu Oct 18 15:12:03 2007 +0100
@@ -0,0 +1,22 @@
+/*
+ *
+ * Authors: Michael LeMay, <mdlemay@xxxxxxxxxxxxxx>
+ * George Coker, <gscoker@xxxxxxxxxxxxxx>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2,
+ * as published by the Free Software Foundation.
+ */
+
+#ifndef __FLASK_H__
+#define __FLASK_H__
+
+#include <stdint.h>
+#include <xen/xen.h>
+#include <xen/xsm/flask_op.h>
+
+int flask_load(int xc_handle, char *buf, int size);
+int flask_context_to_sid(int xc_handle, char *buf, int size, uint32_t *sid);
+int flask_sid_to_context(int xc_handle, int sid, char *buf, int size);
+
+#endif /* __FLASK_H__ */
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/flask/libflask/include/flask_op.h
--- a/tools/flask/libflask/include/flask_op.h Thu Oct 18 11:11:40 2007 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- *
- * Authors: Michael LeMay, <mdlemay@xxxxxxxxxxxxxx>
- * George Coker, <gscoker@xxxxxxxxxxxxxx>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2,
- * as published by the Free Software Foundation.
- */
-
-#ifndef __FLASK_OP_H
-#define __FLASK_OP_H
-
-#define FLASK_LOAD 1
-#define FLASK_GETENFORCE 2
-#define FLASK_SETENFORCE 3
-#define FLASK_CONTEXT_TO_SID 4
-#define FLASK_SID_TO_CONTEXT 5
-#define FLASK_ACCESS 6
-#define FLASK_CREATE 7
-#define FLASK_RELABEL 8
-#define FLASK_USER 9
-#define FLASK_POLICYVERS 10
-#define FLASK_GETBOOL 11
-#define FLASK_SETBOOL 12
-#define FLASK_COMMITBOOLS 13
-#define FLASK_MLS 14
-#define FLASK_DISABLE 15
-#define FLASK_GETAVC_THRESHOLD 16
-#define FLASK_SETAVC_THRESHOLD 17
-#define FLASK_AVC_HASHSTATS 18
-#define FLASK_AVC_CACHESTATS 19
-#define FLASK_MEMBER 20
-
-typedef struct flask_op {
- int cmd;
- int size;
- char *buf;
-} flask_op_t;
-
-int flask_load(int xc_handle, char *buf, int size);
-int flask_context_to_sid(int xc_handle, char *buf, int size, uint32_t *sid);
-int flask_sid_to_context(int xc_handle, int sid, char *buf, int size);
-int do_flask_op(int xc_handle, flask_op_t *op);
-
-#endif
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/flask/loadpolicy/loadpolicy.c
--- a/tools/flask/loadpolicy/loadpolicy.c Thu Oct 18 11:11:40 2007 +0100
+++ b/tools/flask/loadpolicy/loadpolicy.c Thu Oct 18 15:12:03 2007 +0100
@@ -17,8 +17,7 @@
#include <sys/stat.h>
#include <string.h>
#include <unistd.h>
-
-#include <flask_op.h>
+#include <flask.h>
#define USE_MMAP
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/ioemu/hw/xen_platform.c
--- a/tools/ioemu/hw/xen_platform.c Thu Oct 18 11:11:40 2007 +0100
+++ b/tools/ioemu/hw/xen_platform.c Thu Oct 18 15:12:03 2007 +0100
@@ -25,7 +25,6 @@
#include "vl.h"
#include <xenguest.h>
-#include <xc_private.h>
extern FILE *logfile;
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/libxc/Makefile
--- a/tools/libxc/Makefile Thu Oct 18 11:11:40 2007 +0100
+++ b/tools/libxc/Makefile Thu Oct 18 15:12:03 2007 +0100
@@ -12,7 +12,8 @@ CTRL_SRCS-y += xc_domain.c
CTRL_SRCS-y += xc_domain.c
CTRL_SRCS-y += xc_evtchn.c
CTRL_SRCS-y += xc_misc.c
-CTRL_SRCS-y += xc_acm.c
+CTRL_SRCS-y += xc_acm.c
+CTRL_SRCS-y += xc_flask.c
CTRL_SRCS-y += xc_physdev.c
CTRL_SRCS-y += xc_private.c
CTRL_SRCS-y += xc_sedf.c
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/libxc/xc_flask.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/libxc/xc_flask.c Thu Oct 18 15:12:03 2007 +0100
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * xc_flask.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2 of the
+ * License.
+ */
+
+#include "xc_private.h"
+
+int xc_flask_op(int xc_handle, flask_op_t *op)
+{
+ int ret = -1;
+ DECLARE_HYPERCALL;
+
+ hypercall.op = __HYPERVISOR_xsm_op;
+ hypercall.arg[0] = (unsigned long)op;
+
+ if ( mlock(op, sizeof(*op)) != 0 )
+ {
+ PERROR("Could not lock memory for Xen hypercall");
+ goto out;
+ }
+
+ if ( (ret = do_xen_hypercall(xc_handle, &hypercall)) < 0 )
+ {
+ if ( errno == EACCES )
+ fprintf(stderr, "XSM operation failed!\n");
+ }
+
+ safe_munlock(op, sizeof(*op));
+
+ out:
+ return ret;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h Thu Oct 18 11:11:40 2007 +0100
+++ b/tools/libxc/xenctrl.h Thu Oct 18 15:12:03 2007 +0100
@@ -28,6 +28,7 @@
#include <xen/memory.h>
#include <xen/xsm/acm.h>
#include <xen/xsm/acm_ops.h>
+#include <xen/xsm/flask_op.h>
#ifdef __ia64__
#define XC_PAGE_SHIFT 14
@@ -771,6 +772,8 @@ int xc_version(int xc_handle, int cmd, v
int xc_acm_op(int xc_handle, int cmd, void *arg, unsigned long arg_size);
+int xc_flask_op(int xc_handle, flask_op_t *op);
+
/**************************
* GRANT TABLE OPERATIONS *
**************************/
diff -r 9ea5f4c1feb5 -r 789e4303b330 tools/python/xen/lowlevel/flask/flask.c
--- a/tools/python/xen/lowlevel/flask/flask.c Thu Oct 18 11:11:40 2007 +0100
+++ b/tools/python/xen/lowlevel/flask/flask.c Thu Oct 18 15:12:03 2007 +0100
@@ -12,8 +12,7 @@
#include <Python.h>
#include <xenctrl.h>
-
-#include <flask_op.h>
+#include <flask.h>
#define PKG "xen.lowlevel.flask"
#define CLS "flask"
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|