Re: [PATCH] binder: prevent transactions to context manager from its own process.

From: Jann Horn
Date: Mon Oct 14 2019 - 15:35:59 EST


On Mon, Oct 14, 2019 at 7:38 PM Hridya Valsaraju <hridya@xxxxxxxxxx> wrote:
> On Fri, Oct 11, 2019 at 3:11 PM Jann Horn <jannh@xxxxxxxxxx> wrote:
> > On Fri, Oct 11, 2019 at 11:59 PM Jann Horn <jannh@xxxxxxxxxx> wrote:
> > > (I think you could also let A receive a handle
> > > to itself and then transact with itself, but I haven't tested that.)
> >
> > Ignore this sentence, that's obviously wrong because same-binder_proc
> > nodes will always show up as a binder, not a handle.
>
> Thank you for the email and steps to reproduce the issue Jann. I need
> some time to take a look at the same and I will get back to you once I
> understand it and hopefully have a fix. We do want to disallow
> same-process transactions. Here is a little bit more of context for
> the patch: https://lkml.org/lkml/2018/3/28/173

That patch (commit 7aa135fcf26377f92dc0680a57566b4c7f3e281b) prevented
transactions within one *binder_proc*, which makes sense to me; that
still allows same-process transactions, so long as they are between
different binder_proc instances. What I don't understand is your
follow-up in commit 49ed96943a8e0c62cc5a9b0a6cfc88be87d1fcec, where
you try to block transactions within the same process (well, kind of,
the semantics of the term "process" are quite fuzzy here and don't map
onto binder well).