Skip to content

Commit 29ed5e7

Browse files
authored
container (#938)
* Some small container related changes Signed-off-by: Russell Coker <[email protected]>
1 parent 8ae969c commit 29ed5e7

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

policy/modules/services/container.te

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,6 +1011,10 @@ allow spc_t self:process { getcap setexec setrlimit };
10111011
dontaudit spc_t self:process setfscreate;
10121012
allow spc_t self:capability { audit_write chown dac_override dac_read_search fowner fsetid ipc_lock kill mknod net_admin net_raw setgid setpcap setuid sys_admin sys_chroot sys_nice sys_ptrace sys_rawio sys_resource };
10131013
allow spc_t self:capability2 { bpf perfmon };
1014+
1015+
# for qemu
1016+
domain_mmap_low(spc_t)
1017+
10141018
allow spc_t self:bpf { map_create map_read map_write prog_load prog_run };
10151019
allow spc_t self:key manage_key_perms;
10161020
allow spc_t self:alg_socket create_stream_socket_perms;

policy/modules/services/virt.fc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ HOME_DIR/VirtualMachines/isos(/.*)? gen_context(system_u:object_r:virt_content_t
1111

1212
/etc/qemu(/.*)? gen_context(system_u:object_r:virt_etc_t,s0)
1313

14+
/etc/qemu -d gen_context(system_u:object_r:virt_etc_t,s0)
15+
/etc/qemu/[^/]* -- gen_context(system_u:object_r:virt_etc_t,s0)
16+
1417
/etc/rc\.d/init\.d/(libvirt-bin|libvirtd) -- gen_context(system_u:object_r:virtd_initrc_exec_t,s0)
1518

1619
/etc/xen -d gen_context(system_u:object_r:virt_etc_t,s0)
@@ -23,7 +26,8 @@ HOME_DIR/VirtualMachines/isos(/.*)? gen_context(system_u:object_r:virt_content_t
2326
/usr/lib/qemu/qemu-bridge-helper -- gen_context(system_u:object_r:virt_bridgehelper_exec_t,s0)
2427

2528
/usr/libexec/libvirt_lxc -- gen_context(system_u:object_r:virtd_lxc_exec_t,s0)
26-
/usr/libexec/qemu-bridge-helper gen_context(system_u:object_r:virt_bridgehelper_exec_t,s0)
29+
/usr/libexec/qemu-bridge-helper -- gen_context(system_u:object_r:virt_bridgehelper_exec_t,s0)
30+
/usr/libexec/qemu/qemu-bridge-helper -- gen_context(system_u:object_r:virt_bridgehelper_exec_t,s0)
2731
/usr/libexec/libvirt_leaseshelper -- gen_context(system_u:object_r:virt_leaseshelper_exec_t,s0)
2832

2933
/usr/bin/condor_vm-gahp -- gen_context(system_u:object_r:virtd_exec_t,s0)

policy/modules/services/virt.te

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,7 @@ allow virtd_t self:packet_socket create_socket_perms;
466466
allow virtd_t self:netlink_generic_socket create_socket_perms;
467467
allow virtd_t self:netlink_kobject_uevent_socket create_socket_perms;
468468
allow virtd_t self:netlink_route_socket nlmsg_write;
469+
allow virtd_t self:anon_inode { create map read write };
469470

470471
allow virtd_t virt_domain:process { getattr getsched rlimitinh setsched sigkill signal signull transition };
471472
dontaudit virtd_t virt_domain:process { noatsecure rlimitinh siginh };
@@ -586,6 +587,7 @@ kernel_read_network_state(virtd_t)
586587
kernel_rw_net_sysctls(virtd_t)
587588
kernel_read_kernel_sysctls(virtd_t)
588589
kernel_read_vm_overcommit_sysctl(virtd_t)
590+
kernel_read_vm_sysctls(virtd_t)
589591
kernel_request_load_module(virtd_t)
590592
kernel_search_debugfs(virtd_t)
591593
kernel_setsched(virtd_t)
@@ -612,6 +614,7 @@ corenet_tcp_connect_soundd_port(virtd_t)
612614
corenet_rw_tun_tap_dev(virtd_t)
613615

614616
dev_rw_sysfs(virtd_t)
617+
dev_read_cpuid(virtd_t)
615618
dev_read_urand(virtd_t)
616619
dev_read_rand(virtd_t)
617620
dev_rw_kvm(virtd_t)
@@ -634,6 +637,7 @@ files_search_all(virtd_t)
634637
files_read_kernel_modules(virtd_t)
635638
files_read_usr_src_files(virtd_t)
636639
files_mounton_root(virtd_t)
640+
files_watch_etc_dirs(virtd_t)
637641

638642
# Manages /etc/sysconfig/system-config-firewall
639643
# files_relabelto_system_conf_files(virtd_t)
@@ -1122,6 +1126,9 @@ allow virt_bridgehelper_t self:tcp_socket create_stream_socket_perms;
11221126
allow virt_bridgehelper_t self:tun_socket create_socket_perms;
11231127
allow virt_bridgehelper_t self:unix_dgram_socket create_socket_perms;
11241128

1129+
allow virt_bridgehelper_t virt_etc_t:dir list_dir_perms;
1130+
allow virt_bridgehelper_t virt_etc_t:file read_file_perms;
1131+
11251132
manage_files_pattern(virt_bridgehelper_t, svirt_home_t, svirt_home_t)
11261133

11271134
kernel_read_network_state(virt_bridgehelper_t)
@@ -1165,6 +1172,8 @@ files_read_etc_files(virt_leaseshelper_t)
11651172
allow virtlockd_t self:capability dac_override;
11661173
allow virtlockd_t self:fifo_file rw_fifo_file_perms;
11671174
allow virtlockd_t self:unix_stream_socket create_stream_socket_perms;
1175+
allow virtlockd_t self:process getsched;
1176+
allow virtlockd_t self:unix_dgram_socket create_socket_perms;
11681177

11691178
allow virtlockd_t virtd_t:dir list_dir_perms;
11701179
allow virtlockd_t virtd_t:file read_file_perms;
@@ -1188,11 +1197,17 @@ files_runtime_filetrans(virtlockd_t, virtlockd_run_t, file)
11881197

11891198
can_exec(virtlockd_t, virtlockd_exec_t)
11901199

1200+
kernel_getattr_proc(virtlockd_t)
1201+
kernel_read_kernel_sysctls(virtlockd_t)
11911202
kernel_read_system_state(virtlockd_t)
11921203

1204+
dev_read_sysfs(virtlockd_t)
1205+
11931206
files_read_etc_files(virtlockd_t)
11941207
files_list_var_lib(virtlockd_t)
11951208

1209+
logging_send_syslog_msg(virtlockd_t)
1210+
11961211
miscfiles_read_localization(virtlockd_t)
11971212

11981213
virt_append_log(virtlockd_t)
@@ -1209,6 +1224,8 @@ allow virtlogd_t self:unix_stream_socket create_stream_socket_perms;
12091224
allow virtlogd_t virtd_t:dir list_dir_perms;
12101225
allow virtlogd_t virtd_t:file read_file_perms;
12111226
allow virtlogd_t virtd_t:lnk_file read_lnk_file_perms;
1227+
allow virtlogd_t self:process getsched;
1228+
allow virtlogd_t self:unix_dgram_socket create;
12121229

12131230
can_exec(virtlogd_t, virtlogd_exec_t)
12141231

@@ -1220,11 +1237,17 @@ files_runtime_filetrans(virtlogd_t, virtlogd_run_t, file)
12201237
allow virtlogd_t virt_common_runtime_t:file append_file_perms;
12211238
manage_files_pattern(virtlogd_t, virt_common_runtime_t, virt_common_runtime_t)
12221239

1240+
kernel_getattr_proc(virtlogd_t)
1241+
kernel_read_kernel_sysctls(virtlogd_t)
12231242
kernel_read_system_state(virtlogd_t)
12241243

1244+
dev_read_sysfs(virtlogd_t)
1245+
12251246
files_read_etc_files(virtlogd_t)
12261247
files_list_var_lib(virtlogd_t)
12271248

1249+
logging_send_syslog_msg(virtlogd_t)
1250+
12281251
miscfiles_read_localization(virtlogd_t)
12291252

12301253
sysnet_dns_name_resolve(virtlogd_t)

0 commit comments

Comments
 (0)