From 73f35cb9af67276c48f893564ba77d0baf592955 Mon Sep 17 00:00:00 2001 From: Ronish Kalia Date: Sun, 19 Mar 2023 11:26:38 +0000 Subject: [PATCH] Allow non-empty namespaces in system uid to cancel all jobs Bug: 273816163 Change-Id: I25ff81e231b420a2307cb768fe48d571b81d9bb1 --- .../java/com/android/server/job/JobSchedulerService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java index 08810b549e620..26a3480ec3676 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -1809,7 +1809,9 @@ public class JobSchedulerService extends com.android.server.SystemService private boolean cancelJobsForUid(int uid, boolean includeSourceApp, boolean namespaceOnly, @Nullable String namespace, @JobParameters.StopReason int reason, int internalReasonCode, String debugReason) { - if (uid == Process.SYSTEM_UID) { + // Non-null system namespace means the cancelling is limited to the namespace + // and won't cause issues for the system at large. + if (uid == Process.SYSTEM_UID && (!namespaceOnly || namespace == null)) { Slog.wtfStack(TAG, "Can't cancel all jobs for system uid"); return false; }