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); |