| type ramdump_exec, exec_type, vendor_file_type, file_type; |
| |
| userdebug_or_eng(` |
| type ramdump, domain; |
| init_daemon_domain(ramdump) |
| |
| set_prop(ramdump, vendor_ramdump_prop) |
| |
| # f2fs set pin file requires sys_admin |
| allow ramdump self:capability sys_admin; |
| |
| allow ramdump self:capability sys_rawio; |
| |
| allow ramdump ramdump_vendor_data_file:dir create_dir_perms; |
| allow ramdump ramdump_vendor_data_file:file create_file_perms; |
| allow ramdump proc_cmdline:file r_file_perms; |
| |
| allow ramdump block_device:dir search; |
| allow ramdump misc_block_device:blk_file rw_file_perms; |
| allow ramdump userdata_block_device:blk_file rw_file_perms; |
| |
| dontaudit ramdump metadata_file:dir search; |
| |
| r_dir_file(ramdump, sysfs_type) |
| |
| # To access statsd. |
| hwbinder_use(ramdump) |
| get_prop(ramdump, hwservicemanager_prop) |
| allow ramdump fwk_stats_hwservice:hwservice_manager find; |
| binder_call(ramdump, stats_service_server) |
| |
| # To implement fusefs (ramdumpfs) under /mnt/vendor/ramdump. |
| allow ramdump fuse:filesystem relabelfrom; |
| allow ramdump fuse_device:chr_file rw_file_perms; |
| allow ramdump mnt_vendor_file:dir r_dir_perms; |
| allow ramdump ramdump_vendor_mnt_file:dir { getattr mounton }; |
| allow ramdump ramdump_vendor_mnt_file:filesystem { mount unmount relabelfrom relabelto }; |
| ') |