8f75f76fbd
odrefresh is the process responsible for checking and creating ART compilation artifacts that live in the ART APEX data directory (/data/misc/apexdata/com.android.art). There are two types of change here: 1) enabling odrefresh to run dex2oat and write updated boot class path and system server AOT artifacts into the ART APEX data directory. 2) enabling the zygote and assorted diagnostic tools to use the updated AOT artifacts. odrefresh uses two file contexts: apex_art_data_file and apex_art_staging_data_file. When odrefresh invokes dex2oat, the generated files have the apex_art_staging_data_file label (which allows writing). odrefresh then moves these files from the staging area to their installation area and gives them the apex_art_data_file label. Bug: 160683548 Test: adb root && adb shell /apex/com.android.art/bin/odrefresh Change-Id: I9fa290e0c9c1b7b82be4dacb9f2f8cb8c11e4895
30 lines
981 B
Text
30 lines
981 B
Text
userdebug_or_eng(`
|
|
typeattribute su coredomain;
|
|
|
|
domain_auto_trans(shell, su_exec, su)
|
|
# Allow dumpstate to call su on userdebug / eng builds to collect
|
|
# additional information.
|
|
domain_auto_trans(dumpstate, su_exec, su)
|
|
|
|
# Make sure that dumpstate runs the same from the "su" domain as
|
|
# from the "init" domain.
|
|
domain_auto_trans(su, dumpstate_exec, dumpstate)
|
|
|
|
# Put the incident command into its domain so it is the same on user, userdebug and eng.
|
|
domain_auto_trans(su, incident_exec, incident)
|
|
|
|
# Put the odrefresh command into its domain.
|
|
domain_auto_trans(su, odrefresh_exec, odrefresh)
|
|
|
|
# Put the perfetto command into its domain so it is the same on user, userdebug and eng.
|
|
domain_auto_trans(su, perfetto_exec, perfetto)
|
|
|
|
# su is also permissive to permit setenforce.
|
|
permissive su;
|
|
|
|
app_domain(su)
|
|
|
|
# Do not audit accesses to keystore2 namespace for the su domain.
|
|
dontaudit su keystore2_key_type:{ keystore2 keystore2_key } *;
|
|
|
|
')
|