diff options
| author | 2020-05-29 14:49:25 +0200 | |
|---|---|---|
| committer | 2020-05-29 14:33:27 +0000 | |
| commit | a15d846108ef70b7e794168ea27979ce9fb4df4c (patch) | |
| tree | ef78946acd520ef58e461d2d82516cfe07ba4b6d | |
| parent | c1f586951815221bc43a0d5f867cb64539040eba (diff) | |
Use killProcessGroup when killing app zygote.
To make sure we kill all untracked children, too.
Bug: 156741968
Bug: 157598956
Test: manual inspection, PoC no longer works.
Change-Id: I5d8efeb05ddec08a7fc7c00eabca6590c4cfdd8c
| -rw-r--r-- | core/java/android/os/AppZygote.java | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/core/java/android/os/AppZygote.java b/core/java/android/os/AppZygote.java index 6daa5b4dc6d8..66f50e4b2610 100644 --- a/core/java/android/os/AppZygote.java +++ b/core/java/android/os/AppZygote.java @@ -90,10 +90,9 @@ public class AppZygote { @GuardedBy("mLock") private void stopZygoteLocked() { if (mZygote != null) { - // Close the connection and kill the zygote process. This will not cause - // child processes to be killed by itself. mZygote.close(); - Process.killProcess(mZygote.getPid()); + // use killProcessGroup() here, so we kill all untracked children as well. + Process.killProcessGroup(mZygoteUid, mZygote.getPid()); mZygote = null; } } |