summaryrefslogtreecommitdiff
path: root/libs/binder/ProcessState.cpp
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2019-04-03 11:00:11 -0700
committer android-build-merger <android-build-merger@google.com> 2019-04-03 11:00:11 -0700
commit94c0cd9393c22759d3a375cf222d24e90bdcd8a9 (patch)
tree253d3e2b9a72ffaf68e225cad52421ca2e2a49a4 /libs/binder/ProcessState.cpp
parentb7350658a584317b8ff4830b0e86c814674a4e4f (diff)
parent06c65b864b3f7c2869f8d5b92cc53b1626c0b39a (diff)
Merge changes from topic "kernel_v503_2"
am: 06c65b864b Change-Id: I920dbe69867a81fe8a41aaeb2fe450892abd74ee
Diffstat (limited to 'libs/binder/ProcessState.cpp')
-rw-r--r--libs/binder/ProcessState.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/libs/binder/ProcessState.cpp b/libs/binder/ProcessState.cpp
index 1c74e7b077..63f49ddba7 100644
--- a/libs/binder/ProcessState.cpp
+++ b/libs/binder/ProcessState.cpp
@@ -181,8 +181,20 @@ bool ProcessState::becomeContextManager(context_check_func checkFunc, void* user
mBinderContextCheckFunc = checkFunc;
mBinderContextUserData = userData;
- int dummy = 0;
- status_t result = ioctl(mDriverFD, BINDER_SET_CONTEXT_MGR, &dummy);
+ flat_binder_object obj {
+ .flags = FLAT_BINDER_FLAG_TXN_SECURITY_CTX,
+ };
+
+ status_t result = ioctl(mDriverFD, BINDER_SET_CONTEXT_MGR_EXT, &obj);
+
+ // fallback to original method
+ if (result != 0) {
+ android_errorWriteLog(0x534e4554, "121035042");
+
+ int dummy = 0;
+ result = ioctl(mDriverFD, BINDER_SET_CONTEXT_MGR, &dummy);
+ }
+
if (result == 0) {
mManagesContexts = true;
} else if (result == -1) {