# 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 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;