diff options
author | Daniel De Graaf <dgdegra@tycho.nsa.gov> | 2011-12-18 14:33:48 +0000 |
---|---|---|
committer | Daniel De Graaf <dgdegra@tycho.nsa.gov> | 2011-12-18 14:33:48 +0000 |
commit | 875756ca34fabc7243c4a682ffd7008710a907e2 (patch) | |
tree | c4992e378b41a03f691fe756a5c3343b62381db9 /xen/xsm/flask/include | |
parent | 4c1b911bbcd97fb68b4a9e0903a6644e50adda01 (diff) | |
download | xen-875756ca34fabc7243c4a682ffd7008710a907e2.tar.gz xen-875756ca34fabc7243c4a682ffd7008710a907e2.tar.bz2 xen-875756ca34fabc7243c4a682ffd7008710a907e2.zip |
xsm: Add missing access checks
Actions requiring IS_PRIV should also require some XSM access control
in order for XSM to be useful in confining multiple privileged
domains. Add XSM hooks for new hypercalls and sub-commands that are
under IS_PRIV but not currently under any access checks.
Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Diffstat (limited to 'xen/xsm/flask/include')
-rw-r--r-- | xen/xsm/flask/include/av_perm_to_string.h | 14 | ||||
-rw-r--r-- | xen/xsm/flask/include/av_permissions.h | 14 |
2 files changed, 28 insertions, 0 deletions
diff --git a/xen/xsm/flask/include/av_perm_to_string.h b/xen/xsm/flask/include/av_perm_to_string.h index 56572a76b6..85cbffc817 100644 --- a/xen/xsm/flask/include/av_perm_to_string.h +++ b/xen/xsm/flask/include/av_perm_to_string.h @@ -24,6 +24,11 @@ S_(SECCLASS_XEN, XEN__DEBUG, "debug") S_(SECCLASS_XEN, XEN__GETCPUINFO, "getcpuinfo") S_(SECCLASS_XEN, XEN__HEAP, "heap") + S_(SECCLASS_XEN, XEN__PM_OP, "pm_op") + S_(SECCLASS_XEN, XEN__MCA_OP, "mca_op") + S_(SECCLASS_XEN, XEN__LOCKPROF, "lockprof") + S_(SECCLASS_XEN, XEN__CPUPOOL_OP, "cpupool_op") + S_(SECCLASS_XEN, XEN__SCHED_OP, "sched_op") S_(SECCLASS_DOMAIN, DOMAIN__SETVCPUCONTEXT, "setvcpucontext") S_(SECCLASS_DOMAIN, DOMAIN__PAUSE, "pause") S_(SECCLASS_DOMAIN, DOMAIN__UNPAUSE, "unpause") @@ -52,6 +57,9 @@ S_(SECCLASS_DOMAIN, DOMAIN__SETEXTVCPUCONTEXT, "setextvcpucontext") S_(SECCLASS_DOMAIN, DOMAIN__GETVCPUEXTSTATE, "getvcpuextstate") S_(SECCLASS_DOMAIN, DOMAIN__SETVCPUEXTSTATE, "setvcpuextstate") + S_(SECCLASS_DOMAIN, DOMAIN__GETPODTARGET, "getpodtarget") + S_(SECCLASS_DOMAIN, DOMAIN__SETPODTARGET, "setpodtarget") + S_(SECCLASS_DOMAIN, DOMAIN__SET_MISC_INFO, "set_misc_info") S_(SECCLASS_HVM, HVM__SETHVMC, "sethvmc") S_(SECCLASS_HVM, HVM__GETHVMC, "gethvmc") S_(SECCLASS_HVM, HVM__SETPARAM, "setparam") @@ -62,6 +70,9 @@ S_(SECCLASS_HVM, HVM__BIND_IRQ, "bind_irq") S_(SECCLASS_HVM, HVM__CACHEATTR, "cacheattr") S_(SECCLASS_HVM, HVM__TRACKDIRTYVRAM, "trackdirtyvram") + S_(SECCLASS_HVM, HVM__HVMCTL, "hvmctl") + S_(SECCLASS_HVM, HVM__MEM_EVENT, "mem_event") + S_(SECCLASS_HVM, HVM__MEM_SHARING, "mem_sharing") S_(SECCLASS_EVENT, EVENT__BIND, "bind") S_(SECCLASS_EVENT, EVENT__SEND, "send") S_(SECCLASS_EVENT, EVENT__STATUS, "status") @@ -103,6 +114,9 @@ S_(SECCLASS_RESOURCE, RESOURCE__STAT_DEVICE, "stat_device") S_(SECCLASS_RESOURCE, RESOURCE__ADD_DEVICE, "add_device") S_(SECCLASS_RESOURCE, RESOURCE__REMOVE_DEVICE, "remove_device") + S_(SECCLASS_RESOURCE, RESOURCE__PLUG, "plug") + S_(SECCLASS_RESOURCE, RESOURCE__UNPLUG, "unplug") + S_(SECCLASS_RESOURCE, RESOURCE__SETUP, "setup") S_(SECCLASS_SECURITY, SECURITY__COMPUTE_AV, "compute_av") S_(SECCLASS_SECURITY, SECURITY__COMPUTE_CREATE, "compute_create") S_(SECCLASS_SECURITY, SECURITY__COMPUTE_MEMBER, "compute_member") diff --git a/xen/xsm/flask/include/av_permissions.h b/xen/xsm/flask/include/av_permissions.h index 67511adae5..9e55a863a4 100644 --- a/xen/xsm/flask/include/av_permissions.h +++ b/xen/xsm/flask/include/av_permissions.h @@ -24,6 +24,11 @@ #define XEN__DEBUG 0x00400000UL #define XEN__GETCPUINFO 0x00800000UL #define XEN__HEAP 0x01000000UL +#define XEN__PM_OP 0x02000000UL +#define XEN__MCA_OP 0x04000000UL +#define XEN__LOCKPROF 0x08000000UL +#define XEN__CPUPOOL_OP 0x10000000UL +#define XEN__SCHED_OP 0x20000000UL #define DOMAIN__SETVCPUCONTEXT 0x00000001UL #define DOMAIN__PAUSE 0x00000002UL @@ -53,6 +58,9 @@ #define DOMAIN__SETEXTVCPUCONTEXT 0x02000000UL #define DOMAIN__GETVCPUEXTSTATE 0x04000000UL #define DOMAIN__SETVCPUEXTSTATE 0x08000000UL +#define DOMAIN__GETPODTARGET 0x10000000UL +#define DOMAIN__SETPODTARGET 0x20000000UL +#define DOMAIN__SET_MISC_INFO 0x40000000UL #define HVM__SETHVMC 0x00000001UL #define HVM__GETHVMC 0x00000002UL @@ -64,6 +72,9 @@ #define HVM__BIND_IRQ 0x00000080UL #define HVM__CACHEATTR 0x00000100UL #define HVM__TRACKDIRTYVRAM 0x00000200UL +#define HVM__HVMCTL 0x00000400UL +#define HVM__MEM_EVENT 0x00000800UL +#define HVM__MEM_SHARING 0x00001000UL #define EVENT__BIND 0x00000001UL #define EVENT__SEND 0x00000002UL @@ -110,6 +121,9 @@ #define RESOURCE__STAT_DEVICE 0x00000200UL #define RESOURCE__ADD_DEVICE 0x00000400UL #define RESOURCE__REMOVE_DEVICE 0x00000800UL +#define RESOURCE__PLUG 0x00001000UL +#define RESOURCE__UNPLUG 0x00002000UL +#define RESOURCE__SETUP 0x00004000UL #define SECURITY__COMPUTE_AV 0x00000001UL #define SECURITY__COMPUTE_CREATE 0x00000002UL |