summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2018-01-10 18:46:36 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2018-01-10 18:46:36 +0000
commit54da93b9811832c1d08faccd7d5c207890684339 (patch)
tree32b5eecf5f3ef8e33e91d588e16eb69e3358a9ba
parent5e90553bcf167bcdbf074ea533cf9762592a64be (diff)
parentfe6a51fcb5591dc39636ce5c29536d05810dd3f5 (diff)
Merge "Revert "Move zygote's seccomp setup to post-fork""
-rw-r--r--core/java/android/os/Seccomp.java3
-rw-r--r--core/java/com/android/internal/os/Zygote.java4
-rw-r--r--core/java/com/android/internal/os/ZygoteConnection.java4
-rw-r--r--core/java/com/android/internal/os/ZygoteInit.java3
-rw-r--r--core/jni/android_os_seccomp.cpp19
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 {