| 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 sys.time.set property |
| set_prop(time_daemon, sys_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 persist_file:dir search; |
| |
| allow time_daemon self:socket create_socket_perms; |
| allowxperm time_daemon self:socket ioctl msm_sock_ipc_ioctls; |
| |
| userdebug_or_eng(` |
| allow time_daemon diag_device:chr_file rw_file_perms; |
| ') |
| dontaudit time_daemon diag_device:chr_file rw_file_perms; |
| |
| # b/68864350 |
| dontaudit time_daemon unlabeled:dir search; |