Merge changes Ie74b9c27,If2224475 into main

* changes:
  libprocessgroup: Check validity of uid and pid arguments for createProcessGroup
  Revert "libprocessgroup: Check validity of uid and pid arguments"
This commit is contained in:
Treehugger Robot 2024-04-18 19:09:18 +00:00 committed by Gerrit Code Review
commit b45c8ad05b

View file

@ -520,8 +520,14 @@ static populated_status cgroupIsPopulated(int events_fd) {
static int KillProcessGroup(
uid_t uid, pid_t initialPid, int signal, bool once = false,
std::chrono::steady_clock::time_point until = std::chrono::steady_clock::now() + 2200ms) {
CHECK_GE(uid, 0);
CHECK_GT(initialPid, 0);
if (uid < 0) {
LOG(ERROR) << __func__ << ": invalid UID " << uid;
return -1;
}
if (initialPid <= 0) {
LOG(ERROR) << __func__ << ": invalid PID " << initialPid;
return -1;
}
// Always attempt to send a kill signal to at least the initialPid, at least once, regardless of
// whether its cgroup exists or not. This should only be necessary if a bug results in the
@ -681,8 +687,14 @@ static int createProcessGroupInternal(uid_t uid, pid_t initialPid, std::string c
}
int createProcessGroup(uid_t uid, pid_t initialPid, bool memControl) {
CHECK_GE(uid, 0);
CHECK_GT(initialPid, 0);
if (uid < 0) {
LOG(ERROR) << __func__ << ": invalid UID " << uid;
return -1;
}
if (initialPid <= 0) {
LOG(ERROR) << __func__ << ": invalid PID " << initialPid;
return -1;
}
if (memControl && !UsePerAppMemcg()) {
LOG(ERROR) << "service memory controls are used without per-process memory cgroup support";