Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
implement runtime relocation of the ART boot image #51
Comments
thestinger
added
the
Type: enhancement
label
Oct 25, 2015
thestinger
changed the title from
ART boot image is placed at a persistent address chosen by ART via MAP_FIXED
to
implement runtime relocation of the ART boot image
Jun 10, 2016
thestinger
added
the
project
label
Jun 12, 2016
thestinger
referenced this issue
Aug 18, 2016
Open
remove read access to dalvikcache_data_file for every domain other than untrusted_app/isolated_app and shell #371
thestinger
added
the
Priority: high
label
Jun 11, 2017
thestinger
removed
the
project
label
Sep 26, 2017
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
thestinger commentedOct 25, 2015
•
edited
Edited 1 time
-
thestinger
edited Aug 18, 2016
The ART boot image (boot.art) is generated for the initial boot of a given version via patchoat, and is then mapped in at a fixed location in all processes. This needs to be fixed for full ASLR in ART processes (app_process, system_server). It should be relocated in-memory at runtime.
Note that while boot.oat is not currently position independent and is also patched with patchoat, there's support for using WITH_DEXPREOPT_PIC with it. It has an issue resulting in log spam (at least in debug builds) in Marshmallow that appears to be fixed in master / Nougat. It could be backported but there was a lot of churn, so it might make sense to simply relocate both via the same hack for now and then move boot.oat to the more efficient PIC model in Nougat.