## ## Policy for reading and setting the hardware clock. ######################################## ## ## ## Execute hwclock in the clock domain. ## ## ## The type of the process performing this action. ## ## # define(`clock_domtrans',` requires_block_template(`$0'_depend) domain_auto_trans($1,hwclock_exec_t,hwclock_t) allow $1 hwclock_t:fd use; allow hwclock_t $1:fd use; allow hwclock_t $1:fifo_file rw_file_perms; allow hwclock_t $1:process sigchld; ') define(`clock_domtrans_depend',` type hwclock_t, hwclock_exec_t; class file rx_file_perms; class process { transition noatsecure siginh rlimitinh sigchld }; class fd use; class fifo_file rw_file_perms; ') ######################################## ## ## ## Execute hwclock in the clock domain, and ## allow the specified role the hwclock domain. ## ## ## The type of the process performing this action. ## ## ## The role to be allowed the clock domain. ## ## ## The type of the terminal allow the clock domain to use. ## ## # define(`clock_run',` requires_block_template(`$0'_depend) clock_domtrans($1) role $2 types hwclock_t; allow hwclock_t $3:chr_file { getattr read write ioctl }; ') define(`clock_run_depend',` type hwclock_t; class chr_file { getattr read write ioctl }; ') ######################################## ## ## ## Execute hwclock ## ## ## The type of the process performing this action. ## ## # define(`clock_exec',` requires_block_template(`$0'_depend) can_exec($1,hwclock_exec_t) ') define(`clock_exec_depend',` type hwclock_exec_t; class file { getattr read execute execute_no_trans }; ') ######################################## ## ## ## Allow executing domain to modify clock drift ## ## ## The type of the process performing this action. ## ## # define(`clock_rw_adjtime',` requires_block_template(`$0'_depend) allow $1 adjtime_t:file rw_file_perms; files_read_generic_etc_files_directory($1) ') define(`clock_rw_adjtime_depend',` type adjtime_t; class file rw_file_perms; ') ##