Merge "Treat failure to create a process group as fatal"

This commit is contained in:
Suren Baghdasaryan
2022-04-25 17:05:29 +00:00
committed by Gerrit Code Review
2 changed files with 7 additions and 6 deletions

View File

@@ -1599,10 +1599,11 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
// since the directory is owned by root. // since the directory is owned by root.
if (!is_system_server && getuid() == 0) { if (!is_system_server && getuid() == 0) {
const int rc = createProcessGroup(uid, getpid()); const int rc = createProcessGroup(uid, getpid());
if (rc == -EROFS) { if (rc != 0) {
ALOGW("createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?"); fail_fn(rc == -EROFS ? CREATE_ERROR("createProcessGroup failed, kernel missing "
} else if (rc != 0) { "CONFIG_CGROUP_CPUACCT?")
ALOGE("createProcessGroup(%d, %d) failed: %s", uid, /* pid= */ 0, strerror(-rc)); : CREATE_ERROR("createProcessGroup(%d, %d) failed: %s", uid,
/* pid= */ 0, strerror(-rc)));
} }
} }

View File

@@ -2425,8 +2425,8 @@ public final class ProcessList {
if (!regularZygote) { if (!regularZygote) {
// webview and app zygote don't have the permission to create the nodes // webview and app zygote don't have the permission to create the nodes
if (Process.createProcessGroup(uid, startResult.pid) < 0) { if (Process.createProcessGroup(uid, startResult.pid) < 0) {
Slog.e(ActivityManagerService.TAG, "Unable to create process group for " throw new AssertionError("Unable to create process group for " + app.processName
+ app.processName + " (" + startResult.pid + ")"); + " (" + startResult.pid + ")");
} }
} }