From 784ebd31a294447319aa3795d4f9f09c47fea06d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= Date: Mon, 6 Apr 2009 15:12:59 -0700 Subject: [PATCH] --- yaml --- r: 143647 b: refs/heads/master c: 0cf24a7dc9123ddf63c413b6d4b38017b19db713 h: refs/heads/master i: 143645: ff6343182ce0950c5267954aa355a0b5cb5d3781 143643: e4d45ed5e88b8262067566b6276d4bfe0c9b56de 143639: 4b9e3bdd62ed22d546067d7a71a96c56668e4d86 143631: e041caf519549b8a7e9c18596d7884c7f0a97212 143615: 643c9b909bd1b38b5f630b420a1eb54be8f4773f v: v3 --- [refs] | 2 +- trunk/drivers/staging/android/binder.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index eca2aec0623c..742f9f0efa5a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7af7467efa64affc6505375ceac97d68cfb58e94 +refs/heads/master: 0cf24a7dc9123ddf63c413b6d4b38017b19db713 diff --git a/trunk/drivers/staging/android/binder.c b/trunk/drivers/staging/android/binder.c index 91a96292e6bb..b0127a3290d0 100644 --- a/trunk/drivers/staging/android/binder.c +++ b/trunk/drivers/staging/android/binder.c @@ -1343,6 +1343,17 @@ binder_transaction(struct binder_proc *proc, struct binder_thread *thread, if (!(tr->flags & TF_ONE_WAY) && thread->transaction_stack) { struct binder_transaction *tmp; tmp = thread->transaction_stack; + if (tmp->to_thread != thread) { + binder_user_error("binder: %d:%d got new " + "transaction with bad transaction stack" + ", transaction %d has target %d:%d\n", + proc->pid, thread->pid, tmp->debug_id, + tmp->to_proc ? tmp->to_proc->pid : 0, + tmp->to_thread ? + tmp->to_thread->pid : 0); + return_error = BR_FAILED_REPLY; + goto err_bad_call_stack; + } while (tmp) { if (tmp->from && tmp->from->proc == target_proc) target_thread = tmp->from;