1type hal_dumpstate_impl, domain; 2hal_server_domain(hal_dumpstate_impl, hal_dumpstate) 3 4type hal_dumpstate_impl_exec, exec_type, vendor_file_type, file_type; 5init_daemon_domain(hal_dumpstate_impl) 6 7# Execute dump scripts from vendor partition 8allow hal_dumpstate_impl vendor_shell_exec:file rx_file_perms; 9allow hal_dumpstate_impl vendor_toolbox_exec:file rx_file_perms; 10 11# Allow to read pixel-trace trace file 12allow hal_dumpstate_impl debugfs_tracing_instances:dir search; 13allow hal_dumpstate_impl debugfs_tracing_instances:file r_file_perms; 14 15userdebug_or_eng(` 16 allow hal_dumpstate_impl sysfs_usb_device:dir r_dir_perms; 17 allow hal_dumpstate_impl sysfs_usb_device:file r_file_perms; 18 allow hal_dumpstate_impl ssr_log_file:dir search; 19 allow hal_dumpstate_impl ssr_log_file:file r_file_perms; 20 allow hal_dumpstate_impl tcpdump_vendor_data_file:dir create_dir_perms; 21 allow hal_dumpstate_impl tcpdump_vendor_data_file:file create_file_perms; 22 23 set_prop(hal_dumpstate_impl, vendor_tcpdump_log_prop) 24 25 # Dump sensors log 26 allow hal_dumpstate_impl sensors_vendor_data_file:dir r_dir_perms; 27 allow hal_dumpstate_impl sensors_vendor_data_file:file r_file_perms; 28') 29allow hal_dumpstate_impl modem_dump_file:dir create_dir_perms; 30allow hal_dumpstate_impl modem_dump_file:file create_file_perms; 31 32set_prop(hal_dumpstate_impl, vendor_modem_diag_prop) 33 34allow hal_dumpstate_impl radio_vendor_data_file:dir r_dir_perms; 35allow hal_dumpstate_impl radio_vendor_data_file:file r_file_perms; 36allow hal_dumpstate_impl netmgr_data_file:dir r_dir_perms; 37allow hal_dumpstate_impl netmgr_data_file:file r_file_perms; 38get_prop(hal_dumpstate_impl, vendor_tcpdump_log_prop) 39 40# modem stat 41domain_auto_trans(hal_dumpstate_impl, modem_svc_exec, modem_svc) 42allow hal_dumpstate_impl modem_stat_data_file:file r_file_perms; 43 44allow hal_dumpstate_impl uio_device:chr_file rw_file_perms; 45r_dir_file(hal_dumpstate_impl, sysfs_uio) 46r_dir_file(hal_dumpstate_impl, sysfs_rmtfs) 47r_dir_file(hal_dumpstate_impl, sysfs_msm_subsys) 48r_dir_file(hal_dumpstate_impl, sysfs_soc) 49r_dir_file(hal_dumpstate_impl, sysfs_thermal) 50r_dir_file(hal_dumpstate_impl, sysfs_easel) 51 52allow hal_dumpstate_impl sysfs_esim:file r_file_perms; 53allow hal_dumpstate_impl sysfs_rpm:file r_file_perms; 54allow hal_dumpstate_impl sysfs_system_sleep_stats:file r_file_perms; 55 56allow hal_dumpstate_impl debugfs_ion:dir r_dir_perms; 57allow hal_dumpstate_impl debugfs_ion:file r_file_perms; 58allow hal_dumpstate_impl debugfs_wlan:dir r_dir_perms; 59allow hal_dumpstate_impl debugfs_wlan:file r_file_perms; 60allow hal_dumpstate_impl debugfs_icnss:dir r_dir_perms; 61allow hal_dumpstate_impl debugfs_icnss:file r_file_perms; 62allow hal_dumpstate_impl debugfs_ipc:dir r_dir_perms; 63allow hal_dumpstate_impl debugfs_ipc:file r_file_perms; 64allow hal_dumpstate_impl debugfs_f2fs:dir r_dir_perms; 65allow hal_dumpstate_impl debugfs_f2fs:file r_file_perms; 66allow hal_dumpstate_impl debugfs_tzdbg:dir search; 67allow hal_dumpstate_impl debugfs_tzdbg:file r_file_perms; 68allow hal_dumpstate_impl debugfs_ufs:dir r_dir_perms; 69allow hal_dumpstate_impl debugfs_ufs:file r_file_perms; 70allow hal_dumpstate_impl proc_stat:file r_file_perms; 71allow hal_dumpstate_impl proc_f2fs:dir r_dir_perms; 72allow hal_dumpstate_impl proc_f2fs:file r_file_perms; 73allow hal_dumpstate_impl block_device:dir r_dir_perms; 74 75# Access to files for dumping 76allow hal_dumpstate_impl sysfs:dir r_dir_perms; 77# usb logs 78allow hal_dumpstate_impl debugfs_usb:file r_file_perms; 79 80#Access display debug data 81allow hal_dumpstate_impl display_vendor_data_file:dir r_dir_perms; 82allow hal_dumpstate_impl display_vendor_data_file:file r_file_perms; 83 84# Access to touch firmware info 85allow hal_dumpstate_impl sysfs_touch:dir r_dir_perms; 86allow hal_dumpstate_impl sysfs_touch:file rw_file_perms; 87 88# Access to touch proc node 89allow hal_dumpstate_impl proc_touch:file rw_file_perms; 90 91# Access to WLC firmware info 92allow hal_dumpstate_impl sysfs_wlc:dir r_dir_perms; 93allow hal_dumpstate_impl sysfs_wlc:file r_file_perms; 94 95# Access to UFS info 96allow hal_dumpstate_impl sysfs_scsi_devices_0000:dir r_dir_perms; 97allow hal_dumpstate_impl sysfs_scsi_devices_0000:file r_file_perms; 98 99# Access to MPSS RFS info 100allow hal_dumpstate_impl mpss_rfs_data_file:dir r_dir_perms; 101allow hal_dumpstate_impl mpss_rfs_data_file:file r_file_perms; 102 103# For collecting bugreports. 104allow hal_dumpstate_impl debugfs_system_ion_heap:file r_file_perms; 105allow hal_dumpstate_impl shell_data_file:file getattr; 106allow hal_dumpstate_impl sysfs_system_sleep_stats:file r_file_perms; 107# For '/vendor/bin/sh -c getprop | grep vendor.sys.modem.diag' 108allow hal_dumpstate_impl vendor_file:file execute_no_trans; 109userdebug_or_eng(`allow hal_dumpstate_impl debugfs_dma_bufinfo:file r_file_perms;') 110dontaudit hal_dumpstate_impl debugfs_dma_bufinfo:file r_file_perms; 111 112# Allow to dump page_owner 113userdebug_or_eng(` 114 allow hal_dumpstate_impl debugfs_page_owner:file r_file_perms; 115') 116 117#Dumpstats fastrpc buffer 118allow hal_dumpstate_impl sysfs_fastrpc:file r_file_perms; 119 120# Query and dump power supply nodes 121allow hal_dumpstate_impl sysfs_batteryinfo:dir search; 122allow hal_dumpstate_impl sysfs_batteryinfo:file r_file_perms; 123allow hal_dumpstate_impl sysfs_chargelevel:dir search; 124allow hal_dumpstate_impl sysfs_chargelevel:file r_file_perms; 125 126# Dump QCOM FG content 127allow hal_dumpstate_impl debugfs_fg_sram:dir search; 128allow hal_dumpstate_impl debugfs_fg_sram:file rw_file_perms; 129 130# Dump Maxim FG content 131allow hal_dumpstate_impl debugfs_maxfg:dir search; 132allow hal_dumpstate_impl debugfs_maxfg:file r_file_perms; 133allow hal_dumpstate_impl tmpfs:dir search; 134allow hal_dumpstate_impl maxfg_device:chr_file r_file_perms; 135 136# Dump PMIC votables 137allow hal_dumpstate_impl debugfs_pmic_votable:dir r_dir_perms; 138allow hal_dumpstate_impl debugfs_pmic_votable:file r_file_perms; 139 140# Citadel communication must be via citadeld 141vndbinder_use(hal_dumpstate_impl) 142binder_call(hal_dumpstate_impl, citadeld) 143allow hal_dumpstate_impl citadeld_service:service_manager find; 144 145# Vibrator 146r_dir_file(hal_dumpstate_impl, sysfs_leds) 147 148dontaudit hal_dumpstate_impl sensors_vendor_data_file:dir r_dir_perms; 149dontaudit hal_dumpstate_impl sensors_vendor_data_file:file r_file_perms; 150 151# Access to vendor logging property 152set_prop(hal_dumpstate_impl, vendor_logging_prop) 153