From c87d162815f228cda3c2bc70022c54e332bee0e5 Mon Sep 17 00:00:00 2001 From: Fyodor Kupolov Date: Tue, 13 Jan 2015 11:06:04 -0800 Subject: [PATCH] Run isKeyguardSecure under system privileges In certain cases, isKeyguardSecure calls UserManager.getProfileParent, which requires MANAGE_USERS permission. Now the check is done under system privileges. Bug:18765066 Change-Id: I6b23aedee06403d36523af5fee9c7db9659284b3 --- .../java/com/android/server/wm/WindowManagerService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 4d0169d559160..4ba766a9ea36c 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -5379,7 +5379,12 @@ public class WindowManagerService extends IWindowManager.Stub @Override public boolean isKeyguardSecure() { - return mPolicy.isKeyguardSecure(); + long origId = Binder.clearCallingIdentity(); + try { + return mPolicy.isKeyguardSecure(); + } finally { + Binder.restoreCallingIdentity(origId); + } } @Override