summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/JavaClassGenerator.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <pcc@google.com>2018-10-26 14:52:14 -0700
committerPeter Collingbourne <pcc@google.com>2018-10-26 15:50:49 -0700
commit6f4986b67c77305a30fda0f4b3d1f16f879c1a14 (patch)
tree9a2cd95e57da29c632a0f94a8540008b72f4f0eb /tools/aapt2/java/JavaClassGenerator.cpp
parente42fbe4606eaec8f753e4853ea1130734b8da21b (diff)
Preserve x18 while preloading SP-HALs in the zygote.
Shadow call stack (SCS) is a security mitigation that uses a separate stack (the SCS) for return addresses. In versions of Android newer than P, the compiler cooperates with the system to ensure that the SCS address is always stored in register x18, as long as the app was compiled with a new enough compiler and does not use features that rely on SP-HALs (this restriction is because the SP-HALs might not preserve x18 due to potentially having been compiled with an old compiler as a consequence of Treble; it generally means that the app must be a system app without a UI). This change makes it so that we temporarily store the address on the stack while preloading the SP-HALs, so that such apps can use the same zygote as everything else. Bug: 112907825 Change-Id: I5300fe89a0bba514894bdfb58237091d80fd0db8
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator.cpp')
0 files changed, 0 insertions, 0 deletions