|
@@ -2839,6 +2839,14 @@ static void binder_transaction(struct binder_proc *proc,
|
|
|
else
|
|
|
return_error = BR_DEAD_REPLY;
|
|
|
mutex_unlock(&context->context_mgr_node_lock);
|
|
|
+ if (target_node && target_proc == proc) {
|
|
|
+ binder_user_error("%d:%d got transaction to context manager from process owning it\n",
|
|
|
+ proc->pid, thread->pid);
|
|
|
+ return_error = BR_FAILED_REPLY;
|
|
|
+ return_error_param = -EINVAL;
|
|
|
+ return_error_line = __LINE__;
|
|
|
+ goto err_invalid_target_handle;
|
|
|
+ }
|
|
|
}
|
|
|
if (!target_node) {
|
|
|
/*
|