Messages in this thread | | | From | Todd Kjos <> | Date | Tue, 7 Dec 2021 08:51:28 -0800 | Subject | Re: [PATCH] binder: fix pointer cast warning |
| |
On Tue, Dec 7, 2021 at 4:25 AM Arnd Bergmann <arnd@kernel.org> wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > binder_uintptr_t is not the same as uintptr_t, so converting it into a > pointer requires a second cast: > > drivers/android/binder.c: In function 'binder_translate_fd_array': > drivers/android/binder.c:2511:28: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] > 2511 | sender_ufda_base = (void __user *)sender_uparent->buffer + fda->parent_offset; > | ^ > > Fixes: 656e01f3ab54 ("binder: read pre-translated fds from sender buffer") > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Todd Kjos <tkjos@google.com>
> --- > drivers/android/binder.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/android/binder.c b/drivers/android/binder.c > index 5497797ab258..182bb4221b06 100644 > --- a/drivers/android/binder.c > +++ b/drivers/android/binder.c > @@ -2508,7 +2508,8 @@ static int binder_translate_fd_array(struct list_head *pf_head, > */ > fda_offset = (parent->buffer - (uintptr_t)t->buffer->user_data) + > fda->parent_offset; > - sender_ufda_base = (void __user *)sender_uparent->buffer + fda->parent_offset; > + sender_ufda_base = (void __user *)(uintptr_t)sender_uparent->buffer + > + fda->parent_offset; > > if (!IS_ALIGNED((unsigned long)fda_offset, sizeof(u32)) || > !IS_ALIGNED((unsigned long)sender_ufda_base, sizeof(u32))) { > -- > 2.29.2 >
| |