type time_daemon, domain; type time_daemon_exec, exec_type, vendor_file_type, file_type; init_daemon_domain(time_daemon) allow time_daemon self:capability { setgid setuid sys_time }; allow time_daemon rtc_device:chr_file r_file_perms; r_dir_file(time_daemon, sysfs_msm_subsys) allow time_daemon sysfs_soc:dir search; allow time_daemon sysfs_soc:file r_file_perms; # Set time property set_prop(time_daemon, vendor_time_prop); allow time_daemon persist_time_file:dir w_dir_perms; allow time_daemon persist_time_file:file create_file_perms; allow time_daemon persist_time_file:dir search; allow time_daemon mnt_vendor_file:dir search; allow time_daemon persist_file:dir search; allow time_daemon vendor_time_data_file:file create_file_perms; allow time_daemon vendor_time_data_file:dir w_dir_perms; allow time_daemon self:socket create_socket_perms; allowxperm time_daemon self:socket ioctl msm_sock_ipc_ioctls; get_prop(time_daemon, vendor_time_service_prop); dontaudit time_daemon kernel:system module_request; # b/68864350 dontaudit time_daemon unlabeled:dir search;