summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLokesh Kumar Goel <lokeshgoel@google.com>2024-01-26 17:55:53 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-01-26 18:19:44 +0000
commitc82151e9fc8b9681f4536703c254b8f1599f0000 (patch)
tree1fcf6ee42e935c5b9234f101be3ef9806b07ea7e
parent69647d8298c501099f5c31966a54c2f9457a29fd (diff)
downloadbase-c82151e9fc8b9681f4536703c254b8f1599f0000.tar.gz
Revert "Pass the correct user ID to SetProcessProfilesCached()"
This reverts commit 27db51c4a5bfc9571ad77a3d5a2a5d2fab664c12. Reason for revert: New patch available which replaces this change. Bug: 313578691 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e1c4dbc802b103b1a8585cdea74de41eb33cb3ac) Merged-In: Iff5a50df0dc36428b8509f9f972137f69b932766 Change-Id: Iff5a50df0dc36428b8509f9f972137f69b932766
-rw-r--r--core/jni/android_util_Process.cpp33
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);
}