[PATCH v2 0/1] binder: return pending info for frozen async txns

From: Li Li
Date: Thu Nov 10 2022 - 15:34:18 EST


From: Li Li <dualli@xxxxxxxxxx>

User applications need to know if their binder transactions reach a
frozen process or not. For sync binder calls, Linux kernel already
has a dedicated return value BR_FROZEN_REPLY, indicating this sync
binder transaction will be rejected (similar to BR_DEAD_REPLY) as the
target process is frozen. But for async binder calls, the user space
application doesn't have a way to know if the target process is frozen.

This patch adds a new return value, BR_TRANSACTION_PENDING, to fix this
issue. Similar to BR_TRANSACTION_COMPLETE, it means the async binder
transaction has been put in the queue of the target process, but it's
waiting for the target process to be unfrozen.

v1: checkpatch.pl --strict passed
v2: protect proc->is_frozen with lock, fix typo in comments

Li Li (1):
binder: return pending info for frozen async txns

drivers/android/binder.c | 31 +++++++++++++++++++++++------
drivers/android/binder_internal.h | 3 ++-
include/uapi/linux/android/binder.h | 7 ++++++-
3 files changed, 33 insertions(+), 8 deletions(-)

--
2.38.1.431.g37b22c650d-goog