Merge "Treat failure to create a process group as fatal" am: 75eb24817b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2053131 Change-Id: I70764df97c8d18ed16c6f1e4e0562852ea1b5550 Ignore-AOSP-First: this is an automerge Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
committed by
Automerger Merge Worker
commit
bf58a32851
@@ -1599,10 +1599,11 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
|
||||
// since the directory is owned by root.
|
||||
if (!is_system_server && getuid() == 0) {
|
||||
const int rc = createProcessGroup(uid, getpid());
|
||||
if (rc == -EROFS) {
|
||||
ALOGW("createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?");
|
||||
} else if (rc != 0) {
|
||||
ALOGE("createProcessGroup(%d, %d) failed: %s", uid, /* pid= */ 0, strerror(-rc));
|
||||
if (rc != 0) {
|
||||
fail_fn(rc == -EROFS ? CREATE_ERROR("createProcessGroup failed, kernel missing "
|
||||
"CONFIG_CGROUP_CPUACCT?")
|
||||
: CREATE_ERROR("createProcessGroup(%d, %d) failed: %s", uid,
|
||||
/* pid= */ 0, strerror(-rc)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2425,8 +2425,8 @@ public final class ProcessList {
|
||||
if (!regularZygote) {
|
||||
// webview and app zygote don't have the permission to create the nodes
|
||||
if (Process.createProcessGroup(uid, startResult.pid) < 0) {
|
||||
Slog.e(ActivityManagerService.TAG, "Unable to create process group for "
|
||||
+ app.processName + " (" + startResult.pid + ")");
|
||||
throw new AssertionError("Unable to create process group for " + app.processName
|
||||
+ " (" + startResult.pid + ")");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user