commit | b0f35611e7f5c9717c54792d3abb02bf109a7e3f | [log] [tgz] |
---|---|---|
author | Alex Xu <alxu@google.com> | Mon Nov 25 23:28:33 2024 +0000 |
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Wed Dec 18 12:26:16 2024 -0800 |
tree | 114f7bd7e2a0bfbd02565dd0a1388d9fbe1d7d0e | |
parent | 608a6c537ba72b88b2ca1d2f3c268d0bf25b6827 [diff] |
Clear calling identity when getting global security state This allows callers to get the global security state across profiles. Bug: 379868378 Test: m (cherry picked from https://android-review.googlesource.com/q/commit:8085da84faaadf8513770d6f3ed36b9cbee0d1ed) Merged-In: Id81d98837fb69ab5c37c7fd502f99aba96379b01 Change-Id: Id81d98837fb69ab5c37c7fd502f99aba96379b01
diff --git a/services/core/java/com/android/server/SecurityStateManagerService.java b/services/core/java/com/android/server/SecurityStateManagerService.java index 98039be..fe21fbd 100644 --- a/services/core/java/com/android/server/SecurityStateManagerService.java +++ b/services/core/java/com/android/server/SecurityStateManagerService.java
@@ -22,6 +22,7 @@ import android.content.Context; import android.content.pm.PackageManager; +import android.os.Binder; import android.os.Build; import android.os.Bundle; import android.os.ISecurityStateManager; @@ -56,6 +57,15 @@ @Override public Bundle getGlobalSecurityState() { + final long token = Binder.clearCallingIdentity(); + try { + return getGlobalSecurityStateInternal(); + } finally { + Binder.restoreCallingIdentity(token); + } + } + + private Bundle getGlobalSecurityStateInternal() { Bundle globalSecurityState = new Bundle(); globalSecurityState.putString(KEY_SYSTEM_SPL, Build.VERSION.SECURITY_PATCH); globalSecurityState.putString(KEY_VENDOR_SPL,