From 0f2171041ef0615fcf10fdf95b8e096fef99d955 Mon Sep 17 00:00:00 2001 From: Yao Chen Date: Tue, 9 Jan 2018 10:33:15 -0800 Subject: [PATCH] make statsd run in its own uid + Assign permission android.permission.STATSCOMPANION to statsd + Fixes in StatsCompanionService to allow statsd to get uid mapping Test: manual Change-Id: I3e6ca79eefed7f93a4588578c156321c4c278fd3 --- cmds/statsd/statsd.rc | 4 ++-- data/etc/platform.xml | 2 ++ .../java/com/android/server/stats/StatsCompanionService.java | 10 +++++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cmds/statsd/statsd.rc b/cmds/statsd/statsd.rc index 9fb102770aab..437f9a8239cb 100644 --- a/cmds/statsd/statsd.rc +++ b/cmds/statsd/statsd.rc @@ -14,5 +14,5 @@ service statsd /system/bin/statsd class main - user system - group system + user statsd + group statsd log diff --git a/data/etc/platform.xml b/data/etc/platform.xml index d2c855b5badb..f169f225e279 100644 --- a/data/etc/platform.xml +++ b/data/etc/platform.xml @@ -168,6 +168,8 @@ + + diff --git a/services/core/java/com/android/server/stats/StatsCompanionService.java b/services/core/java/com/android/server/stats/StatsCompanionService.java index b31f4b3fca63..84039f05383f 100644 --- a/services/core/java/com/android/server/stats/StatsCompanionService.java +++ b/services/core/java/com/android/server/stats/StatsCompanionService.java @@ -743,9 +743,13 @@ public class StatsCompanionService extends IStatsCompanionService.Stub { filter.addAction(Intent.ACTION_SHUTDOWN); mContext.registerReceiverAsUser( mShutdownEventReceiver, UserHandle.ALL, filter, null, null); - - // Pull the latest state of UID->app name, version mapping when statsd starts. - informAllUidsLocked(mContext); + final long token = Binder.clearCallingIdentity(); + try { + // Pull the latest state of UID->app name, version mapping when statsd starts. + informAllUidsLocked(mContext); + } finally { + restoreCallingIdentity(token); + } } catch (RemoteException e) { Slog.e(TAG, "Failed to inform statsd that statscompanion is ready", e); forgetEverything(); -- 2.11.0