type vendor_subsystem_ramdump, domain;
type vendor_subsystem_ramdump_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(vendor_subsystem_ramdump);

userdebug_or_eng(`
  allow vendor_subsystem_ramdump ramdump_device:chr_file r_file_perms;
  allow vendor_subsystem_ramdump device:dir r_dir_perms;

  allow vendor_subsystem_ramdump proc_sysrq:file w_file_perms;

  allow vendor_subsystem_ramdump ramdump_vendor_data_file:file create_file_perms;
  allow vendor_subsystem_ramdump ramdump_vendor_data_file:dir rw_dir_perms;

  r_dir_file(vendor_subsystem_ramdump, sysfs_msm_subsys)

  allow vendor_subsystem_ramdump sysfs_ssr:file r_file_perms;

  allow vendor_subsystem_ramdump ssr_log_file:dir rw_dir_perms;
  allow vendor_subsystem_ramdump ssr_log_file:file create_file_perms;

  set_prop(vendor_subsystem_ramdump, vendor_ssr_prop);
  get_prop(vendor_subsystem_ramdump, vendor_ramdump_prop);
')
