diff --git a/policy/modules/system/xen.if b/policy/modules/system/xen.if index 7601079..086e8c6 100644 --- a/policy/modules/system/xen.if +++ b/policy/modules/system/xen.if @@ -217,3 +217,22 @@ interface(`xen_domtrans_xm',` domtrans_pattern($1, xm_exec_t, xm_t) ') + +######################################## +## +## Connect to xm over an unix stream socket. +## +## +## +## Domain allowed access. +## +## +# +interface(`xen_stream_connect_xm',` + gen_require(` + type xm_t; + ') + + files_search_pids($1) + stream_connect_pattern($1, xenstored_var_run_t, xenstored_var_run_t, xm_t) +') diff --git a/policy/modules/system/xen.te b/policy/modules/system/xen.te index 6876cdc..3d5ab7b 100644 --- a/policy/modules/system/xen.te +++ b/policy/modules/system/xen.te @@ -1,5 +1,5 @@ -policy_module(xen, 1.9.1) +policy_module(xen, 1.9.2) ######################################## # @@ -209,6 +209,7 @@ files_read_kernel_img(xend_t) files_manage_etc_runtime_files(xend_t) files_etc_filetrans_etc_runtime(xend_t, file) files_read_usr_files(xend_t) +files_read_default_symlinks(xend_t) storage_raw_read_fixed_disk(xend_t) storage_raw_write_fixed_disk(xend_t) @@ -259,6 +260,7 @@ optional_policy(` # allow xenconsoled_t self:capability { dac_override fsetid ipc_lock }; +allow xenconsoled_t self:process setrlimit; allow xenconsoled_t self:unix_stream_socket create_stream_socket_perms; allow xenconsoled_t self:fifo_file rw_fifo_file_perms; @@ -279,6 +281,7 @@ dev_rw_sysfs(xenconsoled_t) domain_dontaudit_ptrace_all_domains(xenconsoled_t) +files_read_etc_files(xenconsoled_t) files_read_usr_files(xenconsoled_t) fs_list_tmpfs(xenconsoled_t) @@ -297,6 +300,10 @@ miscfiles_read_localization(xenconsoled_t) xen_manage_log(xenconsoled_t) xen_stream_connect_xenstore(xenconsoled_t) +optional_policy(` + ptchown_domtrans(xenconsoled_t) +') + ######################################## # # Xen store local policy @@ -340,6 +347,8 @@ dev_read_sysfs(xenstored_t) files_read_usr_files(xenstored_t) +fs_manage_xenfs_files(xenstored_t) + storage_raw_read_fixed_disk(xenstored_t) storage_raw_write_fixed_disk(xenstored_t) storage_raw_read_removable_device(xenstored_t) @@ -421,7 +430,17 @@ xen_stream_connect(xm_t) xen_stream_connect_xenstore(xm_t) optional_policy(` + dbus_system_bus_client(xm_t) + + optional_policy(` + hal_dbus_chat(xm_t) + ') +') + +optional_policy(` + virt_domtrans(xm_t) virt_manage_images(xm_t) + virt_manage_config(xm_t) virt_stream_connect(xm_t) ') @@ -435,6 +454,8 @@ optional_policy(` kernel_read_xen_state(xm_ssh_t) kernel_write_xen_state(xm_ssh_t) + files_search_tmp(xm_ssh_t) + fs_manage_xenfs_dirs(xm_ssh_t) fs_manage_xenfs_files(xm_ssh_t)