diff options
| author | 2022-07-29 20:29:40 +0000 | |
|---|---|---|
| committer | 2022-07-29 20:29:40 +0000 | |
| commit | 1bd2bc7e7942ce75237d7ade11fdb0eb1fc6947c (patch) | |
| tree | 35dc88c6fa1e2c31665fe72f6617956b2d376ebf | |
| parent | f4dee55aa19e5c840c0477ee5a24b6a9cc38f0ae (diff) | |
libbinder: ~BBinder checks for all values
If any configuration is set on a binder which is created and
destroyed temporarily (which happens often when people are
registering services), then put a log.
Fixes: 240617548
Test: boot, binderLibTest
Change-Id: I8ff8655c6abb308118e1c608947a0be680311d30
| -rw-r--r-- | libs/binder/Binder.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/libs/binder/Binder.cpp b/libs/binder/Binder.cpp index 532bacbdfe..2541265ba5 100644 --- a/libs/binder/Binder.cpp +++ b/libs/binder/Binder.cpp @@ -610,8 +610,22 @@ void BBinder::removeRpcServerLink(const sp<RpcServerLink>& link) { BBinder::~BBinder() { - if (!wasParceled() && getExtension()) { - ALOGW("Binder %p destroyed with extension attached before being parceled.", this); + if (!wasParceled()) { + if (getExtension()) { + ALOGW("Binder %p destroyed with extension attached before being parceled.", this); + } + if (isRequestingSid()) { + ALOGW("Binder %p destroyed when requesting SID before being parceled.", this); + } + if (isInheritRt()) { + ALOGW("Binder %p destroyed after setInheritRt before being parceled.", this); + } + if (getMinSchedulerPolicy() != SCHED_NORMAL) { + ALOGW("Binder %p destroyed after setMinSchedulerPolicy before being parceled.", this); + } + if (getMinSchedulerPriority() != 0) { + ALOGW("Binder %p destroyed after setMinSchedulerPolicy before being parceled.", this); + } } Extras* e = mExtras.load(std::memory_order_relaxed); |