1# profman 2type profman, domain; 3type profman_exec, system_file_type, exec_type, file_type; 4 5allow profman user_profile_data_file:file { getattr read write lock map }; 6 7# Dumping profile info opens the application APK file for pretty printing. 8allow profman asec_apk_file:file { read map }; 9allow profman apk_data_file:file { getattr read map }; 10allow profman apk_data_file:dir { getattr read search }; 11 12allow profman oemfs:file { read map }; 13# Reading an APK opens a ZipArchive, which unpack to tmpfs. 14allow profman tmpfs:file { read map }; 15allow profman profman_dump_data_file:file { write map }; 16 17allow profman installd:fd use; 18 19# Allow profman to analyze profiles for the secondary dex files. These 20# are application dex files reported back to the framework when using 21# BaseDexClassLoader. 22allow profman { privapp_data_file app_data_file }:file { getattr read write lock map }; 23allow profman { privapp_data_file app_data_file }:dir { getattr read search }; 24 25# Allow query ART device config properties 26get_prop(profman, device_config_runtime_native_prop) 27get_prop(profman, device_config_runtime_native_boot_prop) 28 29### 30### neverallow rules 31### 32 33neverallow profman { privapp_data_file app_data_file }:notdevfile_class_set open; 34