Re: [PATCH] binder: fix sender_euid type in uapi header

From: Todd Kjos
Date: Wed Jun 01 2022 - 13:35:36 EST


On Wed, Jun 1, 2022 at 9:53 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> On Wed, Jun 1, 2022 at 10:00 AM Carlos Llamas <cmllamas@xxxxxxxxxx> wrote:
> >
> > The {pid,uid}_t fields of struct binder_transaction were recently
> > replaced to use kernel types in commit 169adc2b6b3c ("android/binder.h:
> > add linux/android/binder(fs).h to UAPI compile-test coverage").
> >
> > However, using __kernel_uid_t here breaks backwards compatibility in
> > architectures using 16-bits for this type, since glibc and some others
> > still expect a 32-bit uid_t. Instead, let's use __kernel_uid32_t which
> > avoids this compatibility problem.
> >
> > Fixes: 169adc2b6b3c ("android/binder.h: add linux/android/binder(fs).h to UAPI compile-test coverage")
> > Reported-by: Christopher Ferris <cferris@xxxxxxxxxx>
> > Signed-off-by: Carlos Llamas <cmllamas@xxxxxxxxxx>
> > ---
>
> Ahhh, good catch.
>
> Thank you for fixing this!
>
> Reviewed-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>

Acked-by: Todd Kjos <tkjos@xxxxxxxxxx>

>
>
> > include/uapi/linux/android/binder.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/include/uapi/linux/android/binder.h b/include/uapi/linux/android/binder.h
> > index 11157fae8a8e..688bcdaeed53 100644
> > --- a/include/uapi/linux/android/binder.h
> > +++ b/include/uapi/linux/android/binder.h
> > @@ -289,7 +289,7 @@ struct binder_transaction_data {
> > /* General information about the transaction. */
> > __u32 flags;
> > __kernel_pid_t sender_pid;
> > - __kernel_uid_t sender_euid;
> > + __kernel_uid32_t sender_euid;
> > binder_size_t data_size; /* number of bytes of data */
> > binder_size_t offsets_size; /* number of bytes of offsets */
> >
> > --
> > 2.36.1.255.ge46751e96f-goog
> >
>
>
> --
> Best Regards
> Masahiro Yamada