## Library for locking devices.
#######################################
##
## Create, read, write, and delete
## lockdev lock files.
##
##
##
## Domain allowed access.
##
##
#
interface(`lockdev_manage_files',`
gen_require(`
type lockdev_lock_t;
')
files_search_var_lib($1)
manage_files_pattern($1, lockdev_lock_t, lockdev_lock_t)
')
########################################
##
## Role access for lockdev.
##
##
##
## Role allowed access.
##
##
##
##
## User domain for the role.
##
##
#
interface(`lockdev_role',`
gen_require(`
attribute_role lockdev_roles;
type lockdev_t, lockdev_exec_t;
')
########################################
#
# Declarations
#
roleattribute $1 lockdev_roles;
########################################
#
# Policy
#
domtrans_pattern($2, lockdev_exec_t, lockdev_t)
allow $2 lockdev_t:process { ptrace signal_perms };
ps_process_pattern($2, lockdev_t)
allow lockdev_t $2:process signull;
')