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
Loading
Please register or sign in to comment