xref: /aosp_15_r20/system/sepolicy/prebuilts/api/29.0/private/lpdumpd.te (revision e4a36f4174b17bbab9dc043f4a65dc8d87377290)
1*e4a36f41SAndroid Build Coastguard Workertype lpdumpd, domain, coredomain;
2*e4a36f41SAndroid Build Coastguard Workertype lpdumpd_exec, system_file_type, exec_type, file_type;
3*e4a36f41SAndroid Build Coastguard Worker
4*e4a36f41SAndroid Build Coastguard Workerinit_daemon_domain(lpdumpd)
5*e4a36f41SAndroid Build Coastguard Worker
6*e4a36f41SAndroid Build Coastguard Worker# Allow lpdumpd to register itself as a service.
7*e4a36f41SAndroid Build Coastguard Workerbinder_use(lpdumpd)
8*e4a36f41SAndroid Build Coastguard Workeradd_service(lpdumpd, lpdump_service)
9*e4a36f41SAndroid Build Coastguard Worker
10*e4a36f41SAndroid Build Coastguard Worker# Allow lpdumpd to find the super partition block device.
11*e4a36f41SAndroid Build Coastguard Workerallow lpdumpd block_device:dir r_dir_perms;
12*e4a36f41SAndroid Build Coastguard Worker
13*e4a36f41SAndroid Build Coastguard Worker# Allow lpdumpd to read super partition metadata.
14*e4a36f41SAndroid Build Coastguard Workerallow lpdumpd super_block_device_type:blk_file r_file_perms;
15*e4a36f41SAndroid Build Coastguard Worker
16*e4a36f41SAndroid Build Coastguard Worker# Allow lpdumpd to read fstab.
17*e4a36f41SAndroid Build Coastguard Workerallow lpdumpd sysfs_dt_firmware_android:dir r_dir_perms;
18*e4a36f41SAndroid Build Coastguard Workerallow lpdumpd sysfs_dt_firmware_android:file r_file_perms;
19*e4a36f41SAndroid Build Coastguard Worker
20*e4a36f41SAndroid Build Coastguard Worker# Triggered when lpdumpd tries to read default fstab.
21*e4a36f41SAndroid Build Coastguard Workerdontaudit lpdumpd metadata_file:dir r_dir_perms;
22*e4a36f41SAndroid Build Coastguard Workerdontaudit lpdumpd metadata_file:file r_file_perms;
23*e4a36f41SAndroid Build Coastguard Workerdontaudit lpdumpd gsi_metadata_file:dir r_dir_perms;
24*e4a36f41SAndroid Build Coastguard Workerdontaudit lpdumpd gsi_metadata_file:file r_file_perms;
25*e4a36f41SAndroid Build Coastguard Worker
26*e4a36f41SAndroid Build Coastguard Worker### Neverallow rules
27*e4a36f41SAndroid Build Coastguard Worker
28*e4a36f41SAndroid Build Coastguard Worker# Disallow other domains to get lpdump_service and call lpdumpd.
29*e4a36f41SAndroid Build Coastguard Workerneverallow {
30*e4a36f41SAndroid Build Coastguard Worker    domain
31*e4a36f41SAndroid Build Coastguard Worker    -dumpstate
32*e4a36f41SAndroid Build Coastguard Worker    -lpdumpd
33*e4a36f41SAndroid Build Coastguard Worker    -shell
34*e4a36f41SAndroid Build Coastguard Worker} lpdump_service:service_manager find;
35*e4a36f41SAndroid Build Coastguard Worker
36*e4a36f41SAndroid Build Coastguard Workerneverallow {
37*e4a36f41SAndroid Build Coastguard Worker    domain
38*e4a36f41SAndroid Build Coastguard Worker    -dumpstate
39*e4a36f41SAndroid Build Coastguard Worker    -lpdumpd
40*e4a36f41SAndroid Build Coastguard Worker    -shell
41*e4a36f41SAndroid Build Coastguard Worker} lpdumpd:binder call;
42