summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-04 01:28:10 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-04 01:28:10 +0000
commitcf39b8fb88eecf3a566ef9d30406c4ef88e32603 (patch)
treeaf3d9777c27134a496d69162f3a55fb73c4d68a0
parent4c9c8f78cbe081c5aa4a15643c2d8cec8a888262 (diff)
parent1f23fc8ed4eb80200dfe7d35192450e37a7ef8a1 (diff)
downloadcore-cf39b8fb88eecf3a566ef9d30406c4ef88e32603.tar.gz
Snap for 8680719 from 1f23fc8ed4eb80200dfe7d35192450e37a7ef8a1 to tm-d1-release
Change-Id: Ibf420a3c51f83c16ae54e5656892b7fba8e7d82b
-rw-r--r--init/snapuserd_transition.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/init/snapuserd_transition.cpp b/init/snapuserd_transition.cpp
index 5deaf3156..5c821b05c 100644
--- a/init/snapuserd_transition.cpp
+++ b/init/snapuserd_transition.cpp
@@ -29,6 +29,7 @@
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/parseint.h>
+#include <android-base/stringprintf.h>
#include <android-base/strings.h>
#include <android-base/unique_fd.h>
#include <cutils/sockets.h>
@@ -40,6 +41,7 @@
#include <snapuserd/snapuserd_client.h>
#include "block_dev_initializer.h"
+#include "lmkd_service.h"
#include "service_utils.h"
#include "util.h"
@@ -320,6 +322,14 @@ void SnapuserdSelinuxHelper::RelaunchFirstStageSnapuserd() {
LOG(INFO) << "Relaunched snapuserd with pid: " << pid;
+ // Since daemon is not started as a service, we have
+ // to explicitly set the OOM score to default which is unkillable
+ std::string oom_str = std::to_string(DEFAULT_OOM_SCORE_ADJUST);
+ std::string oom_file = android::base::StringPrintf("/proc/%d/oom_score_adj", pid);
+ if (!android::base::WriteStringToFile(oom_str, oom_file)) {
+ PLOG(ERROR) << "couldn't write oom_score_adj to snapuserd daemon with pid: " << pid;
+ }
+
if (!TestSnapuserdIsReady()) {
PLOG(FATAL) << "snapuserd daemon failed to launch";
} else {