| # profman |
| type profman, domain; |
| type profman_exec, system_file_type, exec_type, file_type; |
| |
| allow profman user_profile_data_file:file { getattr read write lock map }; |
| |
| # Dumping profile info opens the application APK file for pretty printing. |
| allow profman asec_apk_file:file { read map }; |
| allow profman apk_data_file:file { getattr read map }; |
| allow profman apk_data_file:dir { getattr read search }; |
| |
| allow profman oemfs:file { read map }; |
| # Reading an APK opens a ZipArchive, which unpack to tmpfs. |
| allow profman tmpfs:file { read map }; |
| allow profman profman_dump_data_file:file { write map }; |
| |
| allow profman installd:fd use; |
| |
| # Allow profman to analyze profiles for the secondary dex files. These |
| # are application dex files reported back to the framework when using |
| # BaseDexClassLoader. |
| allow profman { privapp_data_file app_data_file }:file { getattr read write lock map }; |
| allow profman { privapp_data_file app_data_file }:dir { getattr read search }; |
| |
| # Allow query ART device config properties |
| get_prop(profman, device_config_runtime_native_prop) |
| get_prop(profman, device_config_runtime_native_boot_prop) |
| |
| ### |
| ### neverallow rules |
| ### |
| |
| neverallow profman { privapp_data_file app_data_file }:notdevfile_class_set open; |