Check DUMP permission before dumping in RollbackManagerService.

Bug: 143125031
Bug: 150949837
Test: atest CtsSecurityTestCases:android.security.cts.ServicePermissionsTest#testDumpProtected
Change-Id: Icd813d30eabc6d52a34bd3440a73d2e0876a89ed
Merged-In: Icd813d30eabc6d52a34bd3440a73d2e0876a89ed
(cherry picked from commit 8753d8249e40f55e2a565e109561e6ba184c2e4a)
diff --git a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
index 08c1bb5..1f75294 100644
--- a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
+++ b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
@@ -58,6 +58,7 @@
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.util.ArrayUtils;
+import com.android.internal.util.DumpUtils;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.server.LocalServices;
 import com.android.server.Watchdog;
@@ -1479,6 +1480,8 @@
 
     @Override
     protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+        if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return;
+
         IndentingPrintWriter ipw = new IndentingPrintWriter(pw, "  ");
         synchronized (mLock) {
             for (RollbackData data : mRollbacks) {