From: Lisa Du Date: Wed, 17 Feb 2016 01:32:52 +0000 (+0800) Subject: drivers: android: correct the size of struct binder_uintptr_t for BC_DEAD_BINDER_DONE X-Git-Tag: v3.16.35~340 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b99166f224cdd5a71352e7e1b288fcf1172c6cfe;p=thirdparty%2Fkernel%2Fstable.git drivers: android: correct the size of struct binder_uintptr_t for BC_DEAD_BINDER_DONE commit 7a64cd887fdb97f074c3fda03bee0bfb9faceac3 upstream. There's one point was missed in the patch commit da49889deb34 ("staging: binder: Support concurrent 32 bit and 64 bit processes."). When configure BINDER_IPC_32BIT, the size of binder_uintptr_t was 32bits, but size of void * is 64bit on 64bit system. Correct it here. Signed-off-by: Lisa Du Signed-off-by: Nicolas Boichat Fixes: da49889deb34 ("staging: binder: Support concurrent 32 bit and 64 bit processes.") Acked-by: Olof Johansson Signed-off-by: Greg Kroah-Hartman [ luis: backported to 3.16: - binder is still in staging in the 3.16 kernel] Signed-off-by: Luis Henriques --- diff --git a/drivers/staging/android/binder.c b/drivers/staging/android/binder.c index a741da77828ae..3b79624703a75 100644 --- a/drivers/staging/android/binder.c +++ b/drivers/staging/android/binder.c @@ -2049,7 +2049,7 @@ static int binder_thread_write(struct binder_proc *proc, if (get_user(cookie, (binder_uintptr_t __user *)ptr)) return -EFAULT; - ptr += sizeof(void *); + ptr += sizeof(cookie); list_for_each_entry(w, &proc->delivered_death, entry) { struct binder_ref_death *tmp_death = container_of(w, struct binder_ref_death, work);