[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190715191804.112933-1-hridya@google.com>
Date: Mon, 15 Jul 2019 12:18:04 -0700
From: Hridya Valsaraju <hridya@...gle.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Arve Hjønnevåg" <arve@...roid.com>,
Todd Kjos <tkjos@...roid.com>,
Martijn Coenen <maco@...roid.com>,
Joel Fernandes <joel@...lfernandes.org>,
Christian Brauner <christian@...uner.io>,
devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Cc: kernel-team@...roid.com, Hridya Valsaraju <hridya@...gle.com>,
syzbot+8b3c354d33c4ac78bfad@...kaller.appspotmail.com
Subject: [PATCH] binder: prevent transactions to context manager from its own process.
Currently, a transaction to context manager from its own process
is prevented by checking if its binder_proc struct is the same as
that of the sender. However, this would not catch cases where the
process opens the binder device again and uses the new fd to send
a transaction to the context manager.
Reported-by: syzbot+8b3c354d33c4ac78bfad@...kaller.appspotmail.com
Signed-off-by: Hridya Valsaraju <hridya@...gle.com>
---
drivers/android/binder.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index e4d25ebec5be..89b9cedae088 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -3138,7 +3138,7 @@ 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) {
+ if (target_node && target_proc->pid == proc->pid) {
binder_user_error("%d:%d got transaction to context manager from process owning it\n",
proc->pid, thread->pid);
return_error = BR_FAILED_REPLY;
--
2.22.0.510.g264f2c817a-goog
Powered by blists - more mailing lists