| # ============================================== |
| # 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; |