diff options
| author | Ivan Lozano <ivanlozano@google.com> | 2020-02-13 08:51:17 -0500 |
|---|---|---|
| committer | Ivan Lozano <ivanlozano@google.com> | 2020-02-14 18:43:24 +0000 |
| commit | 0d496a7107f58e6d6bb70efc07beeb24c8864876 (patch) | |
| tree | 890b6d3726d650e9b7b5840061747911af396570 /core/java | |
| parent | 11e7b55ea99c2e8c7d1a23d51be5c862577a8d3a (diff) | |
Remove execute-only memory related code.
The kernel no longer enforces XOM layouts, and the build system no
longer generates XOM binaries. As a result, the zygote code to mark XOM
sections of memory readable for apps with targetSdkVersion<Q.
Bug: 147300048
Test: m -j
Change-Id: I0abb0abb54f8f5a538da9194a900e6a64e574bfe
Merged-In: I0abb0abb54f8f5a538da9194a900e6a64e574bfe
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/os/Zygote.java | 19 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteConnection.java | 2 |
2 files changed, 2 insertions, 19 deletions
diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java index bcb6c0f9ae87..72eb32a05da9 100644 --- a/core/java/com/android/internal/os/Zygote.java +++ b/core/java/com/android/internal/os/Zygote.java @@ -24,7 +24,6 @@ import android.content.pm.ApplicationInfo; import android.net.Credentials; import android.net.LocalServerSocket; import android.net.LocalSocket; -import android.os.Build; import android.os.FactoryTest; import android.os.IVold; import android.os.Process; @@ -254,16 +253,13 @@ public final class Zygote { */ public static int forkAndSpecialize(int uid, int gid, int[] gids, int runtimeFlags, int[][] rlimits, int mountExternal, String seInfo, String niceName, int[] fdsToClose, - int[] fdsToIgnore, boolean startChildZygote, String instructionSet, String appDataDir, - int targetSdkVersion) { + int[] fdsToIgnore, boolean startChildZygote, String instructionSet, String appDataDir) { ZygoteHooks.preFork(); int pid = nativeForkAndSpecialize( uid, gid, gids, runtimeFlags, rlimits, mountExternal, seInfo, niceName, fdsToClose, fdsToIgnore, startChildZygote, instructionSet, appDataDir); if (pid == 0) { - Zygote.disableExecuteOnly(targetSdkVersion); - // Note that this event ends at the end of handleChildProc, Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "PostFork"); } @@ -649,8 +645,6 @@ public final class Zygote { args.mSeInfo, args.mNiceName, args.mStartChildZygote, args.mInstructionSet, args.mAppDataDir); - disableExecuteOnly(args.mTargetSdkVersion); - Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); return ZygoteInit.zygoteInit(args.mTargetSdkVersion, @@ -730,17 +724,6 @@ public final class Zygote { } /** - * Mark execute-only segments of libraries read+execute for apps with targetSdkVersion<Q. - */ - protected static void disableExecuteOnly(int targetSdkVersion) { - if ((targetSdkVersion < Build.VERSION_CODES.Q) && !nativeDisableExecuteOnly()) { - Log.e("Zygote", "Failed to set libraries to read+execute."); - } - } - - private static native boolean nativeDisableExecuteOnly(); - - /** * @return Raw file descriptors for the read-end of USAP reporting pipes. */ protected static int[] getUsapPipeFDs() { diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java index 2666d5278a90..24ea59ae6ac0 100644 --- a/core/java/com/android/internal/os/ZygoteConnection.java +++ b/core/java/com/android/internal/os/ZygoteConnection.java @@ -257,7 +257,7 @@ class ZygoteConnection { pid = Zygote.forkAndSpecialize(parsedArgs.mUid, parsedArgs.mGid, parsedArgs.mGids, parsedArgs.mRuntimeFlags, rlimits, parsedArgs.mMountExternal, parsedArgs.mSeInfo, parsedArgs.mNiceName, fdsToClose, fdsToIgnore, parsedArgs.mStartChildZygote, - parsedArgs.mInstructionSet, parsedArgs.mAppDataDir, parsedArgs.mTargetSdkVersion); + parsedArgs.mInstructionSet, parsedArgs.mAppDataDir); try { if (pid == 0) { |
