]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
binder: Remove bogus warning on failed same-process transaction
authorJann Horn <jannh@google.com>
Thu, 6 Aug 2020 16:53:59 +0000 (18:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Oct 2020 09:07:34 +0000 (10:07 +0100)
[ Upstream commit e8b8ae7ce32e17a5c29f0289e9e2a39c7dcaa1b8 ]

While binder transactions with the same binder_proc as sender and recipient
are forbidden, transactions with the same task_struct as sender and
recipient are possible (even though currently there is a weird check in
binder_transaction() that rejects them in the target==0 case).
Therefore, task_struct identities can't be used to distinguish whether
the caller is running in the context of the sender or the recipient.

Since I see no easy way to make this WARN_ON() useful and correct, let's
just remove it.

Fixes: 44d8047f1d87 ("binder: use standard functions to allocate fds")
Reported-by: syzbot+e113a0b970b7b3f394ba@syzkaller.appspotmail.com
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Acked-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Jann Horn <jannh@google.com>
Link: https://lore.kernel.org/r/20200806165359.2381483-1-jannh@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/android/binder.c

index af85d37aef68076bb1346b137223b7b109ab5f75..adab46ca5dff76af3c9f4962fae71c7a1059e869 100644 (file)
@@ -2324,8 +2324,6 @@ static void binder_transaction_buffer_release(struct binder_proc *proc,
                         * file is done when the transaction is torn
                         * down.
                         */
-                       WARN_ON(failed_at &&
-                               proc->tsk == current->group_leader);
                } break;
                case BINDER_TYPE_PTR:
                        /*