c61c0c1193d493f97f3a8657b75c5256a70aea3a |
|
24-May-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Log Binder Proxy Limit reached only once" into pi-dev
|
74d967a817dd3c84fb8ca043c7d80b566586fb69 |
|
16-May-2018 |
Michael Wachenschwanz <mwachens@google.com> |
Log Binder Proxy Limit reached only once Bug: 79578081 Test: bit FrameworksCoreTests:android.os.BinderProxyCountingTest Change-Id: Ia0d4148d5d9d5b57fe69b86b280fbeb7e68dca2a
/frameworks/native/libs/binder/BpBinder.cpp
|
7c170bb1b1abf5a055ad8137e8531b5bcd0eb5ce |
|
05-May-2018 |
Martijn Coenen <maco@google.com> |
Create temp refs on proxies. Fixes the following scenario: 1) Thread T1 receives a binder proxy and adds a local strong/weak ref 2) Thread T1 queues BC_ACQUIRE/BC_INCREFS (but does not flush) 3) Thread T1 hands the binder proxy off to another thread T2, which adds another strong ref 4) Thread T1 now drops its own ref to the proxy, but it doesn't get destructed because T2 has its own ref to it 6) Thread T2 runs and drops its own ref to the proxy, which causes a BC_RELEASE/BC_DECREFS to be queued to the driver. Now, if T1 writes its command queue to the driver first, everything is fine, because a BC_ACQUIRE/BC_INCREFS will be followed by a BC_RELEASE/BC_DECREFS. However if T2 writes its command queue first, BC_RELEASE/BC_DECREFS will be sent first, and the driver will delete the reference prematurely. Fix this by temporarily holding a weak/strong ref until the initial BC_ACUIRE/BC_INCREFS is flushed to the driver. Bug: 78437964 Test: sailfish builds, boots, no invalid ref messages on dumpsys Change-Id: Ica5efaf9fa2785423c37abb1456575d97f1cd85f
/frameworks/native/libs/binder/BpBinder.cpp
|
d296d0cd620db158f50434a06a190334e386eab9 |
|
15-Aug-2017 |
Michael Wachenschwanz <mwachens@google.com> |
Native Side of Binder Proxy Tracking by Uid Enable Processes to track the number of Binder Proxies objects held for each UID. Triggers callback when a count crosses a threshold, to handle bad behaving apps. Change-Id: I1efcc37148bc42cb7690d7eef8fa389433829564 Fixes: 63901963 Test: bit FrameworksCoreTests:android.os.BinderProxyCountingTest
/frameworks/native/libs/binder/BpBinder.cpp
|
f2bf93bb080b07159ec1395c1ea8edcf5e00e829 |
|
15-Oct-2015 |
Dianne Hackborn <hackbod@google.com> |
Temporary hack to get rid of new virtuals. Seems like it breaks some prebuilt binaries. Change-Id: Ia5e35beb4538364b2ab3618fbf21b2e9c9ee2363
/frameworks/native/libs/binder/BpBinder.cpp
|
23eb1e20cf59e1238b65cc108f31dfbfd85b2337 |
|
08-Oct-2015 |
Dianne Hackborn <hackbod@google.com> |
Add new "shell command" feature to Binder objects. IBinder has a new common interface for sending shell commands to it. This can be implemented by system services to provide a shell interface to the service, without needing to have separate shell java code. Also add a new "cmd" command line tool, which invokes the shell command method on a system service. This is much like dumpsys, but for shell commands. Change-Id: I95dc80c881a28cefb76957ad4d4fd9b3ed9630df
/frameworks/native/libs/binder/BpBinder.cpp
|
0b53b5c0b34ff0e14e05e7a4613c7364136f47a5 |
|
24-Nov-2014 |
Andreas Gampe <agampe@google.com> |
Binder: Remove unused functions & variables For build-system CFLAGS clean-up, remove unused functions and variables. Change-Id: I88abc2bc99e6b91c7aa56470ff9671bf8bf29f8d
/frameworks/native/libs/binder/BpBinder.cpp
|
d4ecccfd206604a9b2d8a1220844fc2df85a5998 |
|
31-May-2014 |
Mark Salyzyn <salyzyn@google.com> |
binder: Turn on -Werror Change-Id: I0ee785927a7ae5f731b02176b0b781b87c22a24e
/frameworks/native/libs/binder/BpBinder.cpp
|
6f4f3ab36c5ed1df84eb3a9f7475f0ac42952f58 |
|
06-Feb-2014 |
Colin Cross <ccross@android.com> |
binder: fix all warnings Fix warnings related to casting pointers to ints, using %d or %ld to print size_t/ssize_t, and unused parameters. Change-Id: I7a13ba83d402952989c1f795cd9e880a95b98d9e
/frameworks/native/libs/binder/BpBinder.cpp
|
e6f43ddce78d6846af12550ff9193c5c6fe5844b |
|
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/native/libs/binder/BpBinder.cpp
|
6807e59e0ff943cc6225d46e3c33a8a7eae9b3d7 |
|
20-Oct-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
/frameworks/native/libs/binder/BpBinder.cpp
|
83c0446f27b9542d6c2e724817b2b2d8d1f55085 |
|
23-May-2009 |
Mathias Agopian <mathias@google.com> |
some work to try to reduce the code size of some native libraries - make sure that all binder Bn classes define a ctor and dtor in their respective library. This avoids duplication of the ctor/dtor in libraries where these objects are instantiated. This is also cleaner, should we want these ctor/dtor to do something one day. - same change as above for some Bp classes and various other non-binder classes - moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere. - improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere - IBinder::getInterfaceDescriptor() now returns a "const String16&" instead of String16, which saves calls to String16 and ~String16 - implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called. The cache makes BpBinder bigger, so we need to figure out if we need this method at all.
/frameworks/native/libs/binder/BpBinder.cpp
|
c5b2c0bf8007562536b822eb060fc54a01f8e08b |
|
20-May-2009 |
Mathias Agopian <mathias@google.com> |
move libbinder's header files under includes/binder
/frameworks/native/libs/binder/BpBinder.cpp
|
208059f67ed2dd9fa025e07fcb6954d3cb61c79e |
|
19-May-2009 |
Mathias Agopian <mathias@google.com> |
checkpoint: split libutils into libutils + libbinder
/frameworks/native/libs/binder/BpBinder.cpp
|