diff --git a/core/java/android/webkit/WebViewZygote.java b/core/java/android/webkit/WebViewZygote.java index de1f3df614626..09aa066549cb9 100644 --- a/core/java/android/webkit/WebViewZygote.java +++ b/core/java/android/webkit/WebViewZygote.java @@ -163,7 +163,7 @@ public class WebViewZygote { TextUtils.join(",", Build.SUPPORTED_ABIS), null, // instructionSet Process.FIRST_ISOLATED_UID, - Process.LAST_ISOLATED_UID); + Integer.MAX_VALUE); // TODO(b/123615476) deal with user-id ranges properly ZygoteProcess.waitForConnectionToZygote(sZygote.getPrimarySocketAddress()); if (sPackageOriginalAppInfo.sourceDir.equals(sPackage.applicationInfo.sourceDir)) { diff --git a/core/java/com/android/internal/os/ChildZygoteInit.java b/core/java/com/android/internal/os/ChildZygoteInit.java index a052a3b3ab6ac..cc74863632dd9 100644 --- a/core/java/com/android/internal/os/ChildZygoteInit.java +++ b/core/java/com/android/internal/os/ChildZygoteInit.java @@ -98,9 +98,11 @@ public class ChildZygoteInit { throw new RuntimeException("Passed in UID range is invalid, min > max."); } - // Verify the UIDs are in the isolated UID range, as that's the only thing that we should - // be forking right now - if (!Process.isIsolated(uidGidMin) || !Process.isIsolated(uidGidMax)) { + // Verify the UIDs at least do not include system UIDs; we can't easily verify there + // are just isolated UIDs in the range, because for the webview zygote, there is no + // single range that captures all possible isolated UIDs. + // TODO(b/123615476) narrow this down + if (uidGidMin < Process.FIRST_ISOLATED_UID) { throw new RuntimeException("Passed in UID range does not map to isolated processes."); }