Skip to content

Commit 6376643

Browse files
WOnder93stephensmalley
authored andcommitted
policy/test_file_load.te: adjust to kexec behavior on aarch64
On aarch64, kexec writes the image into a temporary file and loads that. Adjust the policy such that it is able to create it and load it as the kernel/initramfs image. Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com> Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
1 parent b9038c3 commit 6376643

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

policy/test_file_load.te

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,57 +7,65 @@ require {
77
type user_tmp_t;
88
}
99

10+
attribute testkexecdomain;
11+
12+
type test_kexec_tmp_file_t;
13+
files_tmp_file(test_kexec_tmp_file_t)
14+
15+
files_rw_generic_tmp_dir(testkexecdomain)
16+
files_tmp_filetrans(testkexecdomain, test_kexec_tmp_file_t, file)
17+
manage_files_pattern(testkexecdomain, test_kexec_tmp_file_t, test_kexec_tmp_file_t)
18+
1019
###################### Allow sys kexec_image_load ######################
1120
type test_kexec_allow_kexec_image_load_t;
1221
testsuite_domain_type(test_kexec_allow_kexec_image_load_t)
22+
typeattribute test_kexec_allow_kexec_image_load_t testkexecdomain;
1323

1424
files_search_boot(test_kexec_allow_kexec_image_load_t)
1525
fs_rw_inherited_tmpfs_files(test_kexec_allow_kexec_image_load_t)
1626
exec_files_pattern(test_kexec_allow_kexec_image_load_t, kdump_exec_t, kdump_exec_t)
1727
domain_entry_file(test_kexec_allow_kexec_image_load_t, kdump_exec_t)
1828
allow test_kexec_allow_kexec_image_load_t self:capability sys_boot;
1929

20-
allow test_kexec_allow_kexec_image_load_t boot_t:system kexec_image_load;
21-
allow test_kexec_allow_kexec_image_load_t tmpfs_t:system kexec_image_load;
30+
allow test_kexec_allow_kexec_image_load_t { boot_t tmpfs_t test_kexec_tmp_file_t }:system kexec_image_load;
2231

2332
###################### Deny sys kexec_image_load ######################
2433
type test_kexec_deny_kexec_image_load_t;
2534
testsuite_domain_type(test_kexec_deny_kexec_image_load_t)
35+
typeattribute test_kexec_deny_kexec_image_load_t testkexecdomain;
2636

2737
files_search_boot(test_kexec_deny_kexec_image_load_t)
2838
fs_rw_inherited_tmpfs_files(test_kexec_deny_kexec_image_load_t)
2939
exec_files_pattern(test_kexec_deny_kexec_image_load_t, kdump_exec_t, kdump_exec_t)
3040
domain_entry_file(test_kexec_deny_kexec_image_load_t, kdump_exec_t)
3141
allow test_kexec_deny_kexec_image_load_t self:capability sys_boot;
3242

33-
neverallow test_kexec_deny_kexec_image_load_t boot_t:system kexec_image_load;
34-
neverallow test_kexec_deny_kexec_image_load_t tmpfs_t:system kexec_image_load;
43+
neverallow test_kexec_deny_kexec_image_load_t { boot_t tmpfs_t test_kexec_tmp_file_t }:system kexec_image_load;
3544

3645
###################### Allow sys kexec_initramfs_load ######################
3746
type test_kexec_allow_kexec_initramfs_load_t;
3847
testsuite_domain_type(test_kexec_allow_kexec_initramfs_load_t)
48+
typeattribute test_kexec_allow_kexec_initramfs_load_t testkexecdomain;
3949

4050
files_search_boot(test_kexec_allow_kexec_initramfs_load_t)
4151
fs_rw_inherited_tmpfs_files(test_kexec_allow_kexec_initramfs_load_t)
4252
domain_entry_file(test_kexec_allow_kexec_initramfs_load_t, kdump_exec_t)
4353
allow test_kexec_allow_kexec_initramfs_load_t self:capability sys_boot;
4454

45-
allow test_kexec_allow_kexec_initramfs_load_t boot_t:system { kexec_image_load kexec_initramfs_load } ;
46-
allow test_kexec_allow_kexec_initramfs_load_t tmpfs_t:system { kexec_image_load kexec_initramfs_load };
55+
allow test_kexec_allow_kexec_initramfs_load_t { boot_t tmpfs_t test_kexec_tmp_file_t }:system { kexec_image_load kexec_initramfs_load };
4756

4857
###################### Deny sys kexec_initramfs_load ######################
4958
type test_kexec_deny_kexec_initramfs_load_t;
5059
testsuite_domain_type(test_kexec_deny_kexec_initramfs_load_t)
60+
typeattribute test_kexec_deny_kexec_initramfs_load_t testkexecdomain;
5161

5262
files_search_boot(test_kexec_deny_kexec_initramfs_load_t)
5363
fs_rw_inherited_tmpfs_files(test_kexec_deny_kexec_initramfs_load_t)
5464
domain_entry_file(test_kexec_deny_kexec_initramfs_load_t, kdump_exec_t)
55-
allow test_kexec_deny_kexec_initramfs_load_t boot_t:system kexec_image_load;
56-
allow test_kexec_deny_kexec_initramfs_load_t tmpfs_t:system kexec_image_load;
65+
allow test_kexec_deny_kexec_initramfs_load_t { boot_t tmpfs_t test_kexec_tmp_file_t }:system kexec_image_load;
5766
allow test_kexec_deny_kexec_initramfs_load_t self:capability sys_boot;
5867

59-
neverallow test_kexec_deny_kexec_initramfs_load_t boot_t:system kexec_initramfs_load;
60-
neverallow test_kexec_deny_kexec_initramfs_load_t tmpfs_t:system kexec_initramfs_load;
68+
neverallow test_kexec_deny_kexec_initramfs_load_t { boot_t tmpfs_t test_kexec_tmp_file_t }:system kexec_initramfs_load;
6169

6270
###################### Allow sys firmware_load ######################
6371
type test_kmodule_allow_firmware_load_t;

0 commit comments

Comments
 (0)