aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/flask/policy/policy/flask/access_vectors1
-rw-r--r--tools/flask/policy/policy/modules/xen/xen.if2
-rw-r--r--xen/xsm/flask/hooks.c3
-rw-r--r--xen/xsm/flask/include/av_perm_to_string.h1
-rw-r--r--xen/xsm/flask/include/av_permissions.h1
5 files changed, 7 insertions, 1 deletions
diff --git a/tools/flask/policy/policy/flask/access_vectors b/tools/flask/policy/policy/flask/access_vectors
index 27fb9d7913..9d09c5bfce 100644
--- a/tools/flask/policy/policy/flask/access_vectors
+++ b/tools/flask/policy/policy/flask/access_vectors
@@ -90,6 +90,7 @@ class hvm
pciroute
bind_irq
cacheattr
+ trackdirtyvram
}
class event
diff --git a/tools/flask/policy/policy/modules/xen/xen.if b/tools/flask/policy/policy/modules/xen/xen.if
index 99afad6f6b..bf3b794c8e 100644
--- a/tools/flask/policy/policy/modules/xen/xen.if
+++ b/tools/flask/policy/policy/modules/xen/xen.if
@@ -22,7 +22,7 @@ define(`create_domain', `
################################################################################
define(`create_hvm_dom', `
create_domain($1, $2, $3)
- allow $1 $2:hvm { setparam getparam cacheattr pciroute irqlevel pcilevel };
+ allow $1 $2:hvm { setparam getparam cacheattr pciroute irqlevel pcilevel trackdirtyvram };
allow $2 $2:hvm setparam;
')
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 30c91e5691..e70feda5a4 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -816,6 +816,9 @@ static int flask_hvmcontext(struct domain *d, uint32_t cmd)
case XEN_DOMCTL_gethvmcontext_partial:
perm = HVM__GETHVMC;
break;
+ case HVMOP_track_dirty_vram:
+ perm = HVM__TRACKDIRTYVRAM;
+ break;
default:
return -EPERM;
}
diff --git a/xen/xsm/flask/include/av_perm_to_string.h b/xen/xsm/flask/include/av_perm_to_string.h
index b10a252589..c32488ee9b 100644
--- a/xen/xsm/flask/include/av_perm_to_string.h
+++ b/xen/xsm/flask/include/av_perm_to_string.h
@@ -56,6 +56,7 @@
S_(SECCLASS_HVM, HVM__GETHVMC, "gethvmc")
S_(SECCLASS_HVM, HVM__SETPARAM, "setparam")
S_(SECCLASS_HVM, HVM__GETPARAM, "getparam")
+ S_(SECCLASS_HVM, HVM__TRACKDIRTYVRAM, "trackdirtyvram")
S_(SECCLASS_HVM, HVM__PCILEVEL, "pcilevel")
S_(SECCLASS_HVM, HVM__IRQLEVEL, "irqlevel")
S_(SECCLASS_HVM, HVM__PCIROUTE, "pciroute")
diff --git a/xen/xsm/flask/include/av_permissions.h b/xen/xsm/flask/include/av_permissions.h
index 14bd0536dd..f5dcc6f8fe 100644
--- a/xen/xsm/flask/include/av_permissions.h
+++ b/xen/xsm/flask/include/av_permissions.h
@@ -63,6 +63,7 @@
#define HVM__PCIROUTE 0x00000040UL
#define HVM__BIND_IRQ 0x00000080UL
#define HVM__CACHEATTR 0x00000100UL
+#define HVM__TRACKDIRTYVRAM 0x00000200UL
#define EVENT__BIND 0x00000001UL
#define EVENT__SEND 0x00000002UL