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