• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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