Skip to content
Commit 6f4986b6 authored by Peter Collingbourne's avatar Peter Collingbourne
Browse files

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
parent e42fbe46
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment