diff options
| -rw-r--r-- | cmds/installd/dexopt.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/cmds/installd/dexopt.cpp b/cmds/installd/dexopt.cpp index 594880ac60..65fc46ecaf 100644 --- a/cmds/installd/dexopt.cpp +++ b/cmds/installd/dexopt.cpp @@ -1818,10 +1818,13 @@ int dexopt(const char* dex_path, uid_t uid, const char* pkgname, const char* ins pid_t pid = fork(); if (pid == 0) { + // Need to set schedpolicy before dropping privileges + // for cgroup migration. See details at b/175178520. + SetDex2OatScheduling(boot_complete); + /* child -- drop privileges before continuing */ drop_capabilities(uid); - SetDex2OatScheduling(boot_complete); if (flock(out_oat.fd(), LOCK_EX | LOCK_NB) != 0) { PLOG(ERROR) << "flock(" << out_oat.path() << ") failed"; _exit(DexoptReturnCodes::kFlock); |