33aa1a3c52
composd in responsible to prepare the staging directory for odrefresh (in the VM) to write the output to. Temporary output should be put in a staged directory with a temporary apex_art_staging_data_file context. When a compilation is finished, the files can then be moved to the final directory with the final context. Bug: 205750213 Test: No denials Change-Id: I9444470b31518242c1bb84fc755819d459d21d68
31 lines
1 KiB
Text
31 lines
1 KiB
Text
type composd, domain, coredomain;
|
|
type composd_exec, system_file_type, exec_type, file_type;
|
|
|
|
# Host dynamic AIDL services
|
|
init_daemon_domain(composd)
|
|
binder_use(composd)
|
|
add_service(composd, compos_service)
|
|
add_service(composd, compos_internal_service)
|
|
|
|
# Call back into system server
|
|
binder_call(composd, system_server)
|
|
|
|
# Start a VM
|
|
virtualizationservice_use(composd)
|
|
|
|
# Allow preparing staging directory for odrefresh
|
|
allow composd apex_art_data_file:dir { create_dir_perms relabelfrom };
|
|
allow composd apex_art_staging_data_file:dir { create_dir_perms relabelto };
|
|
|
|
# Access our APEX data files
|
|
allow composd apex_module_data_file:dir search;
|
|
allow composd apex_compos_data_file:dir create_dir_perms;
|
|
allow composd apex_compos_data_file:file create_file_perms;
|
|
|
|
# TODO(b/205750213): Removed these when we run odrefresh in the VM
|
|
# Run odrefresh to refresh ART artifacts, and kill it if we need to
|
|
domain_auto_trans(composd, odrefresh_exec, odrefresh)
|
|
allow composd odrefresh:process sigkill;
|
|
|
|
# Read ART's properties
|
|
get_prop(composd, dalvik_config_prop)
|