diff options
| author | 2018-01-10 18:46:36 +0000 | |
|---|---|---|
| committer | 2018-01-10 18:46:36 +0000 | |
| commit | 54da93b9811832c1d08faccd7d5c207890684339 (patch) | |
| tree | 32b5eecf5f3ef8e33e91d588e16eb69e3358a9ba | |
| parent | 5e90553bcf167bcdbf074ea533cf9762592a64be (diff) | |
| parent | fe6a51fcb5591dc39636ce5c29536d05810dd3f5 (diff) | |
Merge "Revert "Move zygote's seccomp setup to post-fork""
| -rw-r--r-- | core/java/android/os/Seccomp.java | 3 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/Zygote.java | 4 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteConnection.java | 4 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteInit.java | 3 | ||||
| -rw-r--r-- | core/jni/android_os_seccomp.cpp | 19 |
5 files changed, 7 insertions, 26 deletions
diff --git a/core/java/android/os/Seccomp.java b/core/java/android/os/Seccomp.java index 335e44b65711..f14e93fe9403 100644 --- a/core/java/android/os/Seccomp.java +++ b/core/java/android/os/Seccomp.java @@ -20,6 +20,5 @@ package android.os; * @hide */ public final class Seccomp { - public static native void setSystemServerPolicy(); - public static native void setAppPolicy(); + public static final native void setPolicy(); } diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java index ebebad2950ce..3ee8b472869b 100644 --- a/core/java/com/android/internal/os/Zygote.java +++ b/core/java/com/android/internal/os/Zygote.java @@ -17,7 +17,6 @@ package com.android.internal.os; -import android.os.Seccomp; import android.os.Trace; import dalvik.system.ZygoteHooks; import android.system.ErrnoException; @@ -156,9 +155,6 @@ public final class Zygote { */ public static int forkSystemServer(int uid, int gid, int[] gids, int runtimeFlags, int[][] rlimits, long permittedCapabilities, long effectiveCapabilities) { - // Set system server specific seccomp policy. - Seccomp.setSystemServerPolicy(); - VM_HOOKS.preFork(); // Resets nice priority for zygote process. resetNicePriority(); diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java index 24c4a8d8d438..6a87b1f4d3fd 100644 --- a/core/java/com/android/internal/os/ZygoteConnection.java +++ b/core/java/com/android/internal/os/ZygoteConnection.java @@ -30,7 +30,6 @@ import android.net.Credentials; import android.net.LocalSocket; import android.os.FactoryTest; import android.os.Process; -import android.os.Seccomp; import android.os.SystemProperties; import android.os.Trace; import android.system.ErrnoException; @@ -768,9 +767,6 @@ class ZygoteConnection { Process.setArgV0(parsedArgs.niceName); } - // Set app specific seccomp policy. - Seccomp.setAppPolicy(); - // End of the postFork event. Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); if (parsedArgs.invokeWith != null) { diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 40168328c5bc..2be6212b9f1e 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -782,6 +782,9 @@ public class ZygoteInit { // Zygote process unmounts root storage spaces. Zygote.nativeUnmountStorageOnInit(); + // Set seccomp policy + Seccomp.setPolicy(); + ZygoteHooks.stopZygoteNoThreadCreation(); if (startSystemServer) { diff --git a/core/jni/android_os_seccomp.cpp b/core/jni/android_os_seccomp.cpp index b9006e4403cd..06e2a167de0a 100644 --- a/core/jni/android_os_seccomp.cpp +++ b/core/jni/android_os_seccomp.cpp @@ -21,33 +21,20 @@ #include "seccomp_policy.h" -static void Seccomp_setSystemServerPolicy(JNIEnv* /*env*/) { +static void Seccomp_setPolicy(JNIEnv* /*env*/) { if (security_getenforce() == 0) { ALOGI("seccomp disabled by setenforce 0"); return; } - if (!set_system_seccomp_filter()) { - ALOGE("Failed to set seccomp policy - killing"); - exit(1); - } -} - -static void Seccomp_setAppPolicy(JNIEnv* /*env*/) { - if (security_getenforce() == 0) { - ALOGI("seccomp disabled by setenforce 0"); - return; - } - - if (!set_app_seccomp_filter()) { + if (!set_seccomp_filter()) { ALOGE("Failed to set seccomp policy - killing"); exit(1); } } static const JNINativeMethod method_table[] = { - NATIVE_METHOD(Seccomp, setSystemServerPolicy, "()V"), - NATIVE_METHOD(Seccomp, setAppPolicy, "()V"), + NATIVE_METHOD(Seccomp, setPolicy, "()V"), }; namespace android { |