summaryrefslogtreecommitdiff
path: root/prebuilts/api/32.0/private/lpdumpd.te
diff options
context:
space:
mode:
Diffstat (limited to 'prebuilts/api/32.0/private/lpdumpd.te')
-rw-r--r--prebuilts/api/32.0/private/lpdumpd.te37
1 files changed, 37 insertions, 0 deletions
diff --git a/prebuilts/api/32.0/private/lpdumpd.te b/prebuilts/api/32.0/private/lpdumpd.te
new file mode 100644
index 000000000..9f5f87ebd
--- /dev/null
+++ b/prebuilts/api/32.0/private/lpdumpd.te
@@ -0,0 +1,37 @@
+type lpdumpd, domain, coredomain;
+type lpdumpd_exec, system_file_type, exec_type, file_type;
+
+init_daemon_domain(lpdumpd)
+
+# Allow lpdumpd to register itself as a service.
+binder_use(lpdumpd)
+add_service(lpdumpd, lpdump_service)
+
+# Allow lpdumpd to find the super partition block device.
+allow lpdumpd block_device:dir r_dir_perms;
+
+# Allow lpdumpd to read super partition metadata.
+allow lpdumpd super_block_device_type:blk_file r_file_perms;
+
+# Allow lpdumpd to read fstab.
+allow lpdumpd sysfs_dt_firmware_android:dir r_dir_perms;
+allow lpdumpd sysfs_dt_firmware_android:file r_file_perms;
+read_fstab(lpdumpd)
+
+### Neverallow rules
+
+# Disallow other domains to get lpdump_service and call lpdumpd.
+neverallow {
+ domain
+ -dumpstate
+ -lpdumpd
+ -shell
+} lpdump_service:service_manager find;
+
+neverallow {
+ domain
+ -dumpstate
+ -lpdumpd
+ -shell
+ -servicemanager
+} lpdumpd:binder call;