From c5fabb864d60b0efb495e869cef05a1718d591d7 Mon Sep 17 00:00:00 2001 From: Kensuke Miyagi Date: Thu, 6 Jan 2022 11:54:19 -0800 Subject: [PATCH] Add dump permission check in TunerResourceManagerService#dump() This is the fix for regression introduced by commit: 17c4a944 Bug: 213479108 Test: android.security.cts.ServicePermissionsTest#testDumpProtected Change-Id: I92e0d9b29a5a8676c02d3bbabec3393651839353 --- .../tunerresourcemanager/TunerResourceManagerService.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java index e508260746da7..63f4c68b11f6a 100644 --- a/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java +++ b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java @@ -21,6 +21,7 @@ import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityManager.RunningAppProcessInfo; import android.content.Context; +import android.content.pm.PackageManager; import android.media.IResourceManagerService; import android.media.tv.TvInputManager; import android.media.tv.tunerresourcemanager.CasSessionRequest; @@ -543,6 +544,12 @@ public class TunerResourceManagerService extends SystemService implements IBinde protected void dump(FileDescriptor fd, final PrintWriter writer, String[] args) { final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); + if (getContext().checkCallingOrSelfPermission(android.Manifest.permission.DUMP) + != PackageManager.PERMISSION_GRANTED) { + pw.println("Permission Denial: can't dump!"); + return; + } + synchronized (mLock) { if (mClientProfiles != null) { pw.println("ClientProfiles:");