2022-05-09 02:29:53

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH v6 23/23] [RFC] drivers: android: Binder IPC in Rust

On Sat, May 07, 2022 at 07:24:21AM +0200, Miguel Ojeda wrote:
> From: Wedson Almeida Filho <[email protected]>
>
> A port to Rust of the Android Binder IPC mechanism.
>
> This module is a work in progress and will be sent for review later
> on, as well as separately from the Rust support.

Is any functionality missing for this driver compared to the C driver?

> 12 files changed, 3400 insertions(+), 13 deletions(-)

The C driver appears to be much larger, so if the Rust binder is
feature-complete, that's quite a reduction in code size.

Are there any other metrics can that be compared in a direct a/b test?

--
Kees Cook


2022-05-09 03:54:19

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v6 23/23] [RFC] drivers: android: Binder IPC in Rust

On Sat, May 07, 2022 at 12:55:17AM -0700, Kees Cook wrote:
> On Sat, May 07, 2022 at 07:24:21AM +0200, Miguel Ojeda wrote:
> > From: Wedson Almeida Filho <[email protected]>
> >
> > A port to Rust of the Android Binder IPC mechanism.
> >
> > This module is a work in progress and will be sent for review later
> > on, as well as separately from the Rust support.
>
> Is any functionality missing for this driver compared to the C driver?

There is no binderfs support, which would be a major regression if it
were to be added.

And odds are the new binder additions in the past few months are
probably not included here either.

There is a binder regression test in Android that can be run to test all
of this to see what is missing. That should be a good test of
compatibility.

thanks,

greg k-h

2022-05-09 17:58:12

by Todd Kjos

[permalink] [raw]
Subject: Re: [PATCH v6 23/23] [RFC] drivers: android: Binder IPC in Rust

On Sat, May 7, 2022 at 1:13 AM Greg Kroah-Hartman
<[email protected]> wrote:
>
> On Sat, May 07, 2022 at 12:55:17AM -0700, Kees Cook wrote:
> > On Sat, May 07, 2022 at 07:24:21AM +0200, Miguel Ojeda wrote:
> > > From: Wedson Almeida Filho <[email protected]>
> > >
> > > A port to Rust of the Android Binder IPC mechanism.
> > >
> > > This module is a work in progress and will be sent for review later
> > > on, as well as separately from the Rust support.
> >
> > Is any functionality missing for this driver compared to the C driver?
>
> There is no binderfs support, which would be a major regression if it
> were to be added.
>
> And odds are the new binder additions in the past few months are
> probably not included here either.
>
> There is a binder regression test in Android that can be run to test all
> of this to see what is missing. That should be a good test of
> compatibility.

There are a set of tests in the Android tree at
frameworks/libs/native/binder/tests, but just booting and having a
usable device with this version replacing the C version is pretty
impressive. Can you boot and run a real device with this?

>
> thanks,
>
> greg k-h