mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
flask: implement xsm_set_system_active
This commit implements full support for starting the idle domain privileged by introducing a new flask label xenboot_t which the idle domain is labeled with at creation. It then provides the implementation for the XSM hook xsm_set_system_active to relabel the idle domain to the existing xen_t flask label. In the reference flask policy a new macro, xen_build_domain(target), is introduced for creating policies for dom0less/hyperlaunch allowing the hypervisor to create and assign the necessary resources for domain construction. Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com> Reviewed-by: Jason Andryuk <jandryuk@gmail.com> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com> Tested-by: Luca Fancellu <luca.fancellu@arm.com> Reviewed-by: Rahul Singh <rahul.singh@arm.com> Tested-by: Rahul Singh <rahul.singh@arm.com>
This commit is contained in:
1 parent
4b540e8c9f
commit
a0bb0960e5
5 files changed
+18
-1
No files matched your search
@@ -62,6 +62,13 @@ define(`create_domain_common', `
|
||||
setparam altp2mhvm altp2mhvm_op dm };
|
||||
')
|
||||
|
||||
# xen_build_domain(target)
|
||||
# Allow a domain to be created at boot by the hypervisor
|
||||
define(`xen_build_domain', `
|
||||
allow xenboot_t $1:domain create;
|
||||
allow xenboot_t $1_channel:event create;
|
||||
')
|
||||
|
||||
# create_domain(priv, target)
|
||||
# Allow a domain to be created directly
|
||||
define(`create_domain', `
|
||||
|
||||
@@ -24,6 +24,7 @@ attribute mls_priv;
|
||||
################################################################################
|
||||
|
||||
# The hypervisor itself
|
||||
type xenboot_t, xen_type, mls_priv;
|
||||
type xen_t, xen_type, mls_priv;
|
||||
|
||||
# Domain 0
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
# objects created before the policy is loaded or for objects that do not have a
|
||||
# label defined in some other manner.
|
||||
|
||||
sid xenboot gen_context(system_u:system_r:xenboot_t,s0)
|
||||
sid xen gen_context(system_u:system_r:xen_t,s0)
|
||||
sid dom0 gen_context(system_u:system_r:dom0_t,s0)
|
||||
sid domxen gen_context(system_u:system_r:domxen_t,s0)
|
||||
|
||||