convert FLASK_ENABLE to Kconfig

Converts the Config.mk option of FLASK_ENABLE into a Kconfig option for
the hypervisor called CONFIG_FLASK. This commit knowingly breaks the
dependent relationship on XSM_ENABLE which is addressed when XSM_ENABLE
is converted to Kconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
This commit is contained in:
Doug Goldstein authored and Jan Beulich committed 2016-01-12 11:38:17 +01:00
1 parent 361b4f9f0f
commit 529298fdf9
9 files changed
+23 -9

No files matched your search

-1
View File
@@ -214,7 +214,6 @@ EMBEDDED_EXTRA_CFLAGS += -fno-exceptions
# Enable XSM security module (by default, Flask).
XSM_ENABLE ?= n
FLASK_ENABLE ?= $(XSM_ENABLE)
XEN_EXTFILES_URL ?= http://xenbits.xen.org/xen-extfiles
# All the files at that location were downloaded from elsewhere on
+5 -1
View File
@@ -278,7 +278,11 @@ PYTHON_PREFIX_ARG=
The hypervisor may be build with XSM support, which can be changed with
the following variables.
XSM_ENABLE=y
FLASK_ENABLE=y
The hypervisor may be build with Flask support, which can be changed
by running:
make -C xen menuconfig
and enabling Flask in the 'Common Features' menu.
Do a build for coverage.
coverage=y
+3 -2
View File
@@ -172,8 +172,9 @@ Setting up FLASK
----------------
Xen must be compiled with XSM and FLASK enabled; by default, the security
framework is disabled. Edit Config.mk or the .config file to set XSM_ENABLE and
FLASK_ENABLE to "y"; this change requires a make clean and rebuild.
framework is disabled. Edit Config.mk or the .config file to set XSM_ENABLE to
"y" and running 'make -C xen menuconfig' and enabling FLASK inside 'Common
Features'; this change requires a make clean and rebuild.
FLASK uses only one domain configuration parameter (seclabel) defining the
full security label of the newly created domain. If using the example policy,
-1
View File
@@ -53,7 +53,6 @@ CFLAGS += -pipe -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h
CFLAGS += '-D__OBJECT_FILE__="$@"'
CFLAGS-$(XSM_ENABLE) += -DXSM_ENABLE
CFLAGS-$(FLASK_ENABLE) += -DFLASK_ENABLE
CFLAGS-$(verbose) += -DVERBOSE
CFLAGS-$(crash_debug) += -DCRASH_DEBUG
CFLAGS-$(perfc) += -DPERF_COUNTERS
+11
View File
@@ -8,6 +8,17 @@ config COMPAT
HVM and PV guests. HVMLoader makes 32-bit hypercalls irrespective
of the destination runmode of the guest.
config FLASK
bool "FLux Advanced Security Kernel support"
default n
---help---
Enables the FLASK (FLux Advanced Security Kernel) support which
provides a mandatory access control framework by which security
enforcement, isolation, and auditing can be achieved with fine
granular control via a security policy.
If unsure, say N.
# Select HAS_DEVICE_TREE if device tree is supported
config HAS_DEVICE_TREE
bool
+1 -1
View File
@@ -28,7 +28,7 @@ headers-$(CONFIG_X86) += compat/arch-x86/xen.h
headers-$(CONFIG_X86) += compat/arch-x86/xen-$(compat-arch-y).h
headers-$(CONFIG_X86) += compat/hvm/hvm_vcpu.h
headers-y += compat/arch-$(compat-arch-y).h compat/pmu.h compat/xlat.h
headers-$(FLASK_ENABLE) += compat/xsm/flask_op.h
headers-$(CONFIG_FLASK) += compat/xsm/flask_op.h
cppflags-y := -include public/xen-compat.h
cppflags-$(CONFIG_X86) += -m32
+1 -1
View File
@@ -86,7 +86,7 @@
#define mk_unsigned_long(x) x
#endif /* !__ASSEMBLY__ */
#ifdef FLASK_ENABLE
#ifdef CONFIG_FLASK
#define XSM_MAGIC 0xf97cff8c
/* Maintain statistics on the access vector cache */
#define FLASK_AVC_STATS 1
+1 -1
View File
@@ -119,7 +119,7 @@ struct evtchn
*/
void *generic;
#endif
#ifdef FLASK_ENABLE
#ifdef CONFIG_FLASK
/*
* Inlining the contents of the structure for FLASK avoids unneeded
* allocations, and on 64-bit platforms with only FLASK enabled,
+1 -1
View File
@@ -4,4 +4,4 @@ obj-y += xsm_policy.o
obj-y += dummy.o
endif
subdir-$(FLASK_ENABLE) += flask
subdir-$(CONFIG_FLASK) += flask
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.