mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
tools: Remove bogus external uses of xc_private.h. Clean up libflask.
Signed-off-by: Keir Fraser <keir@xensource.com>
This commit is contained in:
1 parent
5550335afc
commit
cefbbff3f5
10 files changed
+82
-87
No files matched your search
@@ -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:
|
||||
|
||||
@@ -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, 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;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
*
|
||||
* Authors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
|
||||
* George Coker, <gscoker@alpha.ncsc.mil>
|
||||
*
|
||||
* 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__ */
|
||||
@@ -1,46 +0,0 @@
|
||||
/*
|
||||
*
|
||||
* Authors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
|
||||
* George Coker, <gscoker@alpha.ncsc.mil>
|
||||
*
|
||||
* 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
|
||||
@@ -17,8 +17,7 @@
|
||||
#include <sys/stat.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <flask_op.h>
|
||||
#include <flask.h>
|
||||
|
||||
#define USE_MMAP
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include "vl.h"
|
||||
|
||||
#include <xenguest.h>
|
||||
#include <xc_private.h>
|
||||
|
||||
extern FILE *logfile;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
*/
|
||||
@@ -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, 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 *
|
||||
**************************/
|
||||
|
||||
@@ -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"
|
||||
|
||||