blob: 2aab3be5dfbffe0685b1d558728c2b9e7a6a3b37 [file] [log] [blame]
# ==============================================
# Common SEPolicy Rule
# ==============================================
# Date : 2016/06/01
# Operation: TEEI integration
# Purpose: Microtrust teei_daemon service
allow tee self:capability { sys_module setuid setgid sys_rawio };
allow tee teei_config_device:chr_file rw_file_perms;
allow tee teei_client_device:chr_file { create setattr unlink rw_file_perms };
allow tee teei_vfs_device:chr_file rw_file_perms;
allow tee teei_rpmb_device:chr_file rw_file_perms;
allow tee teei_data_file:dir create_dir_perms;
allow tee teei_data_file:file create_file_perms;
allow tee teei_control_file:dir r_dir_perms;
allow tee teei_control_file:file rw_file_perms;;
allow tee teei_control_file:lnk_file rw_file_perms;;
# allow teei_daemon access /persist section
allow tee mnt_vendor_file:dir create_dir_perms;
allow tee mnt_vendor_file:file create_file_perms;
allow tee persist_data_file:dir create_dir_perms;
allow tee persist_data_file:file create_file_perms;
# enable access android property
set_prop(tee, vendor_mtk_soter_teei_prop)
# for debug only
allow tee kmsg_device:chr_file w_file_perms;
# allow tee read ut_keymaster data
allow tee ut_keymaster_device:chr_file rw_file_perms;
# allow load teei drm drivers
allow tee block_device:dir search;
allow tee teei_rpmb_device:blk_file rw_file_perms;
allow tee nvram_device:blk_file rw_file_perms;
# kernel device
allow tee tkcore_admin_device:chr_file rw_file_perms;
# sfs
allow tee tkcore_data_file:dir create_dir_perms;
allow tee tkcore_data_file:file { create_file_perms link };
# persist
allow tee protect_f_data_file:dir search;
allow tee tkcore_protect_data_file:dir create_dir_perms;
allow tee tkcore_protect_data_file:file { create_file_perms link };
#rpmb
allow tee self:capability sys_rawio;
allow tee block_device:dir search;
set_prop(tee, vendor_mtk_rpmb_ready_prop)
allow tee rpmb_block_device:blk_file rw_file_perms;
allowxperm tee rpmb_block_device:blk_file ioctl { MMC_IOCTLCMD MMC_IOC_MULTI_CMD UFS_IOCTLCMD UFS_IOCTL_RPMB };
allow tee rpmb_device:chr_file rw_file_perms;
allowxperm tee rpmb_device:chr_file ioctl { MMC_IOCTLCMD MMC_IOC_MULTI_CMD UFS_IOCTLCMD UFS_IOCTL_RPMB };
# systa loading
allow tee tkcore_systa_file:dir r_dir_perms;
allow tee tkcore_systa_file:file r_file_perms;
# spta mgmt/loading
allow tee tkcore_spta_file:dir create_dir_perms;
allow tee tkcore_spta_file:file create_file_perms;
# logging
allow tee tkcore_log_file:file create_file_perms;
# allow tkcore to read/write vendor.trustkernel.* properties
set_prop(tee, vendor_mtk_trustkernel_tee_prop);
# maintaining version through /proc fs
allow tee proc_tkcore:file rw_file_perms;
allow tee proc_tkcore:dir search;
allow tee bootdevice_block_device:blk_file rw_file_perms;
allowxperm tee bootdevice_block_device:blk_file ioctl { MMC_IOC_MULTI_CMD UFS_IOCTL_RPMB};
allow tee tee_data_file:dir create_dir_perms;