From: Keir Fraser Date: Thu, 18 Oct 2007 14:12:03 +0000 (+0100) Subject: tools: Remove bogus external uses of xc_private.h. Clean up libflask. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14847^2~21 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=cefbbff3f52785929be438c73d1cd4d57fe7829f;p=xen.git tools: Remove bogus external uses of xc_private.h. Clean up libflask. Signed-off-by: Keir Fraser --- diff --git a/tools/flask/libflask/Makefile b/tools/flask/libflask/Makefile index db57575ea5..a29411f9d5 100644 --- a/tools/flask/libflask/Makefile +++ b/tools/flask/libflask/Makefile @@ -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 --git a/tools/flask/libflask/flask_op.c b/tools/flask/libflask/flask_op.c index 5ebadb51b7..c0ca22d0dd 100644 --- a/tools/flask/libflask/flask_op.c +++ b/tools/flask/libflask/flask_op.c @@ -17,11 +17,10 @@ #include #include #include +#include #include - -#include - -#include +#include +#include int flask_load(int xc_handle, char *buf, int size) { @@ -32,7 +31,7 @@ int flask_load(int xc_handle, char *buf, int size) 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, char *buf, int size, uint32_t *sid) 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, int sid, char *buf, int size) 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 --git a/tools/flask/libflask/include/flask.h b/tools/flask/libflask/include/flask.h new file mode 100644 index 0000000000..5973933ac8 --- /dev/null +++ b/tools/flask/libflask/include/flask.h @@ -0,0 +1,22 @@ +/* + * + * Authors: Michael LeMay, + * George Coker, + * + * 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 +#include +#include + +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 --git a/tools/flask/libflask/include/flask_op.h b/tools/flask/libflask/include/flask_op.h deleted file mode 100644 index 4058ea85dc..0000000000 --- a/tools/flask/libflask/include/flask_op.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * - * Authors: Michael LeMay, - * George Coker, - * - * 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 --git a/tools/flask/loadpolicy/loadpolicy.c b/tools/flask/loadpolicy/loadpolicy.c index 285aec4331..bb6eeb8de5 100644 --- a/tools/flask/loadpolicy/loadpolicy.c +++ b/tools/flask/loadpolicy/loadpolicy.c @@ -17,8 +17,7 @@ #include #include #include - -#include +#include #define USE_MMAP diff --git a/tools/ioemu/hw/xen_platform.c b/tools/ioemu/hw/xen_platform.c index 50700f2ea2..ae7b2a5ff8 100644 --- a/tools/ioemu/hw/xen_platform.c +++ b/tools/ioemu/hw/xen_platform.c @@ -25,7 +25,6 @@ #include "vl.h" #include -#include extern FILE *logfile; diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile index 7a273c70f8..067d47a717 100644 --- a/tools/libxc/Makefile +++ b/tools/libxc/Makefile @@ -12,7 +12,8 @@ CTRL_SRCS-$(CONFIG_POWERPC) += xc_core_powerpc.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 --git a/tools/libxc/xc_flask.c b/tools/libxc/xc_flask.c new file mode 100644 index 0000000000..bb2b61295f --- /dev/null +++ b/tools/libxc/xc_flask.c @@ -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 --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h index 6b056b9e9d..bf08942787 100644 --- a/tools/libxc/xenctrl.h +++ b/tools/libxc/xenctrl.h @@ -28,6 +28,7 @@ #include #include #include +#include #ifdef __ia64__ #define XC_PAGE_SHIFT 14 @@ -771,6 +772,8 @@ int xc_version(int xc_handle, int cmd, void *arg); 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 --git a/tools/python/xen/lowlevel/flask/flask.c b/tools/python/xen/lowlevel/flask/flask.c index d07bc70908..b8387611b7 100644 --- a/tools/python/xen/lowlevel/flask/flask.c +++ b/tools/python/xen/lowlevel/flask/flask.c @@ -12,8 +12,7 @@ #include #include - -#include +#include #define PKG "xen.lowlevel.flask" #define CLS "flask"