userdebug_or_eng(`
  allow logger_app radio_vendor_data_file:file create_file_perms;
  allow logger_app radio_vendor_data_file:dir create_dir_perms;
  allow logger_app vendor_slog_file:file {r_file_perms unlink};
  allow logger_app vendor_gps_file:file create_file_perms;
  allow logger_app vendor_gps_file:dir create_dir_perms;
  allow logger_app sysfs_sscoredump_level:file r_file_perms;
  allow logger_app hal_exynos_rild_hwservice:hwservice_manager find;

  binder_call(logger_app, rild)

  r_dir_file(logger_app, ramdump_vendor_data_file)
  r_dir_file(logger_app, sscoredump_vendor_data_coredump_file)
  r_dir_file(logger_app, sscoredump_vendor_data_crashinfo_file)

  get_prop(logger_app, usb_control_prop)
  set_prop(logger_app, vendor_logger_prop)
  set_prop(logger_app, vendor_modem_prop)
  set_prop(logger_app, vendor_gps_prop)
  set_prop(logger_app, vendor_audio_prop)
  set_prop(logger_app, vendor_tcpdump_log_prop)
  set_prop(logger_app, vendor_ramdump_prop)
  set_prop(logger_app, vendor_ssrdump_prop)
  set_prop(logger_app, vendor_rild_prop)
  set_prop(logger_app, logpersistd_logging_prop)
  set_prop(logger_app, logd_prop)
  set_prop(logger_app, vendor_usb_config_prop)
  set_prop(logger_app, vendor_wifi_sniffer_prop)

  dontaudit logger_app default_prop:file r_file_perms;
  dontaudit logger_app proc_vendor_sched:dir search;
  dontaudit logger_app proc_vendor_sched:file write;
')
