type ssr, domain, domain_deprecated;
type ssr_exec, exec_type, file_type;

# Started by init
init_daemon_domain(ssr);

userdebug_or_eng(`
allow ssr device:dir r_dir_perms;
allow ssr ramdump_device:chr_file r_file_perms;
allow ssr ramdump_data_file:dir getattr;
allow ssr sysfs_ssr:dir r_dir_perms;
allow ssr sysfs_ssr:lnk_file read;
')
