allow ueventd proc:file r_file_perms; permissive ueventd; type teecd_data_file, file_type; type dmd_device, file_type; allow hal_fingerprint_server dmd_device:chr_file rw_file_perms; allow hal_fingerprint_server sysfs:file rw_file_perms; allow tee hal_fingerprint_default:process { getattr }; allow tee teecd_data_file:dir { search read write create getattr add_name open }; allow tee teecd_data_file:file { read write create getattr open }; allow tee system_data_file:dir { getattr }; type oeminfo_nvm, domain; type oeminfo_nvm_device, file_type; allowxperm oeminfo_nvm oeminfo_nvm_device:blk_file ioctl { 0x1260 }; allow charger rootfs:file { ioctl read getattr lock map execute entrypoint open }; # This is use exclusively for init to relabel /dev/selinux from tmpfs to device allow kernel tmpfs:{ dir file } relabelfrom; allow kernel device:{ dir file } relabelto; # system/core/init/mount_handler.cpp likes to browse all /sys/block/xxx, so let it do so... type sys_block_sdd, file_type; allow init { sysfs sys_block_sdd }:dir r_dir_perms; allow init { sysfs sys_block_sdd }:file r_file_perms; allow init { sysfs sys_block_sdd }:lnk_file read; allowxperm vendor_init { teecd_data_file }:dir ioctl { FS_IOC_GET_ENCRYPTION_POLICY FS_IOC_SET_ENCRYPTION_POLICY }; # Fixes boot issue in EMUI 9 P20 lite type sys_block_mmcblk0, file_type; allow init sys_block_mmcblk0:lnk_file read; allow init sysfs_zram:lnk_file read;