type smlog_dump_exec, exec_type, vendor_file_type, file_type;

userdebug_or_eng(`
  type smlog_dump, domain;
  allow smlog_dump modem_dump_file:dir create_dir_perms;
  allow smlog_dump modem_dump_file:file create_file_perms;
  r_dir_file(smlog_dump, sysfs_uio)
  r_dir_file(smlog_dump, sysfs_rmtfs)

  allow smlog_dump diag_device:chr_file rw_file_perms;
  allow smlog_dump radio_vendor_data_file:file { append read write };
  allow smlog_dump rild:fd use;
  allow smlog_dump rild:fifo_file { read write };
  allow smlog_dump rild:unix_stream_socket { read write };
  allow smlog_dump rild:netlink_generic_socket { read write };
  allow smlog_dump self:socket create_socket_perms;
  allowxperm smlog_dump self:socket ioctl msm_sock_ipc_ioctls;
  allow smlog_dump sysfs:dir r_dir_perms;
  allow smlog_dump sysfs_msm_subsys:dir r_dir_perms;
  allow smlog_dump sysfs_msm_subsys:file r_file_perms;
  allow smlog_dump sysfs_msm_subsys:lnk_file read;
  allow smlog_dump sysfs_soc:dir search;
  allow smlog_dump sysfs_soc:file r_file_perms;
  allow smlog_dump dumpstate:fd use;
  allow smlog_dump hal_dumpstate_impl:fd use;
  allow smlog_dump uio_device:chr_file rw_file_perms;

  # For collecting bugreports.
  allow smlog_dump shell_data_file:file write;
')