2017-01-18 05:31:31 +01:00
|
|
|
# dexoptanalyzer
|
2017-03-23 22:27:32 +01:00
|
|
|
type dexoptanalyzer, domain, coredomain, mlstrustedsubject;
|
2018-09-27 19:21:37 +02:00
|
|
|
type dexoptanalyzer_exec, system_file_type, exec_type, file_type;
|
2019-01-24 00:07:40 +01:00
|
|
|
type dexoptanalyzer_tmpfs, file_type;
|
2017-01-18 05:31:31 +01:00
|
|
|
|
2020-07-14 03:53:38 +02:00
|
|
|
r_dir_file(dexoptanalyzer, apk_data_file)
|
|
|
|
# Access to /vendor/app
|
|
|
|
r_dir_file(dexoptanalyzer, vendor_app_file)
|
|
|
|
|
2017-01-18 05:31:31 +01:00
|
|
|
# Reading an APK opens a ZipArchive, which unpack to tmpfs.
|
|
|
|
# Use tmpfs_domain() which will give tmpfs files created by dexoptanalyzer their
|
|
|
|
# own label, which differs from other labels created by other processes.
|
|
|
|
# This allows to distinguish in policy files created by dexoptanalyzer vs other
|
2020-09-22 16:43:17 +02:00
|
|
|
# processes.
|
2017-01-18 05:31:31 +01:00
|
|
|
tmpfs_domain(dexoptanalyzer)
|
|
|
|
|
2021-03-11 20:32:47 +01:00
|
|
|
userfaultfd_use(dexoptanalyzer)
|
|
|
|
|
2020-10-16 16:29:55 +02:00
|
|
|
# Allow dexoptanalyzer to read files in the dalvik cache.
|
2017-01-18 05:31:31 +01:00
|
|
|
allow dexoptanalyzer dalvikcache_data_file:dir { getattr search };
|
|
|
|
allow dexoptanalyzer dalvikcache_data_file:file r_file_perms;
|
2020-10-16 16:29:55 +02:00
|
|
|
|
|
|
|
# Read symlinks in /data/dalvik-cache. This is required for PIC mode boot
|
|
|
|
# app_data_file the oat file is symlinked to the original file in /system.
|
2017-01-18 05:31:31 +01:00
|
|
|
allow dexoptanalyzer dalvikcache_data_file:lnk_file read;
|
|
|
|
|
2020-10-16 16:29:55 +02:00
|
|
|
# Allow dexoptanalyzer to read files in the ART APEX data directory.
|
|
|
|
allow dexoptanalyzer { apex_art_data_file apex_module_data_file }:dir { getattr search };
|
|
|
|
allow dexoptanalyzer apex_art_data_file:file r_file_perms;
|
|
|
|
|
|
|
|
# Allow dexoptanalyzer to use file descriptors from odrefresh.
|
|
|
|
allow dexoptanalyzer odrefresh:fd use;
|
|
|
|
|
2021-02-19 09:52:15 +01:00
|
|
|
# Use devpts and fd from odsign (which exec()'s odrefresh)
|
|
|
|
allow dexoptanalyzer odsign:fd use;
|
|
|
|
allow dexoptanalyzer odsign_devpts:chr_file { read write };
|
|
|
|
|
2017-01-18 05:31:31 +01:00
|
|
|
allow dexoptanalyzer installd:fd use;
|
2019-03-19 14:57:26 +01:00
|
|
|
allow dexoptanalyzer installd:fifo_file { getattr write };
|
2017-01-18 05:31:31 +01:00
|
|
|
|
2019-08-06 15:51:01 +02:00
|
|
|
# Acquire advisory lock on /system/framework/arm/*
|
|
|
|
allow dexoptanalyzer system_file:file lock;
|
|
|
|
|
2017-01-18 05:31:31 +01:00
|
|
|
# Allow reading secondary dex files that were reported by the app to the
|
|
|
|
# package manager.
|
2019-08-16 20:56:03 +02:00
|
|
|
allow dexoptanalyzer { privapp_data_file app_data_file }:file { getattr read map };
|
2017-01-18 05:31:31 +01:00
|
|
|
|
2023-01-30 08:56:01 +01:00
|
|
|
# dexoptanalyzer checks the DM files next to dex files. We don't need this check
|
|
|
|
# for secondary dex files, but it's not harmful. Just deny it and ignore it.
|
|
|
|
dontaudit dexoptanalyzer { privapp_data_file app_data_file }:dir search;
|
|
|
|
|
2017-01-18 05:31:31 +01:00
|
|
|
# Allow testing /data/user/0 which symlinks to /data/data
|
|
|
|
allow dexoptanalyzer system_data_file:lnk_file { getattr };
|
2021-05-19 00:33:08 +02:00
|
|
|
|
|
|
|
# Allow query ART device config properties
|
|
|
|
get_prop(dexoptanalyzer, device_config_runtime_native_prop)
|
|
|
|
get_prop(dexoptanalyzer, device_config_runtime_native_boot_prop)
|
2021-06-21 11:24:38 +02:00
|
|
|
|
|
|
|
# Allow dexoptanalyzer to read /apex/apex-info-list.xml
|
2021-06-22 15:36:08 +02:00
|
|
|
allow dexoptanalyzer apex_info_file:file r_file_perms;
|