diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-01-26 18:20:08 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-01-26 18:20:08 +0000 |
commit | 86ce33d738ee3e724aa5ed7399db7fd45982e3f1 (patch) | |
tree | 1fcf6ee42e935c5b9234f101be3ef9806b07ea7e | |
parent | 69647d8298c501099f5c31966a54c2f9457a29fd (diff) | |
parent | c82151e9fc8b9681f4536703c254b8f1599f0000 (diff) | |
download | base-86ce33d738ee3e724aa5ed7399db7fd45982e3f1.tar.gz |
Merge cherrypicks of ['googleplex-android-review.googlesource.com/26028024'] into sparse-11363197-L23500030001623370.
SPARSE_CHANGE: Iff5a50df0dc36428b8509f9f972137f69b932766
Change-Id: Ib03c1915807057b4f67c3602da82c16e2f3689e3
-rw-r--r-- | core/jni/android_util_Process.cpp | 33 |
1 files changed, 1 insertions, 32 deletions
diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp index 04b26b36fe63..91dfc6023e42 100644 --- a/core/jni/android_util_Process.cpp +++ b/core/jni/android_util_Process.cpp @@ -28,7 +28,6 @@ #include <meminfo/sysmeminfo.h> #include <processgroup/processgroup.h> #include <processgroup/sched_policy.h> -#include <android-base/logging.h> #include <android-base/unique_fd.h> #include <algorithm> @@ -233,31 +232,6 @@ void android_os_Process_setThreadGroupAndCpuset(JNIEnv* env, jobject clazz, int } } -// Look up the user ID of a process in /proc/${pid}/status. The Uid: line is present in -// /proc/${pid}/status since at least kernel v2.5. -static int uid_from_pid(int pid) -{ - int uid = -1; - std::array<char, 64> path; - int res = snprintf(path.data(), path.size(), "/proc/%d/status", pid); - if (res < 0 || res >= static_cast<int>(path.size())) { - DCHECK(false); - return uid; - } - FILE* f = fopen(path.data(), "r"); - if (!f) { - return uid; - } - char line[256]; - while (fgets(line, sizeof(line), f)) { - if (sscanf(line, "Uid: %d", &uid) == 1) { - break; - } - } - fclose(f); - return uid; -} - void android_os_Process_setProcessGroup(JNIEnv* env, jobject clazz, int pid, jint grp) { ALOGV("%s pid=%d grp=%" PRId32, __func__, pid, grp); @@ -301,12 +275,7 @@ void android_os_Process_setProcessGroup(JNIEnv* env, jobject clazz, int pid, jin } } - const int uid = uid_from_pid(pid); - if (uid < 0) { - signalExceptionForGroupError(env, ESRCH, pid); - return; - } - if (!SetProcessProfilesCached(uid, pid, {get_cpuset_policy_profile_name((SchedPolicy)grp)})) + if (!SetProcessProfilesCached(0, pid, {get_cpuset_policy_profile_name((SchedPolicy)grp)})) signalExceptionForGroupError(env, errno ? errno : EPERM, pid); } |