summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorIvan Lozano <ivanlozano@google.com>2020-02-13 08:51:17 -0500
committerIvan Lozano <ivanlozano@google.com>2020-02-14 18:43:24 +0000
commit0d496a7107f58e6d6bb70efc07beeb24c8864876 (patch)
tree890b6d3726d650e9b7b5840061747911af396570 /core/java
parent11e7b55ea99c2e8c7d1a23d51be5c862577a8d3a (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.java19
-rw-r--r--core/java/com/android/internal/os/ZygoteConnection.java2
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) {