Re: [PATCH] staging: android: binder.c: avoid sparse checker warning: cast removes address space of expression

From: Dan Carpenter
Date: Wed Apr 16 2014 - 19:58:39 EST


On Wed, Apr 16, 2014 at 10:42:17PM +0200, Yves Deweerdt wrote:
>
> __user should be kept when casting to struct binder_version *
>
>

Mathieu sent this one earlier.
http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2014-April/048614.html

His is perfect, except that he missed the space in the ": {", but it's
still ok.

regards,
dan carpenter

> Signed-off-by: Yves Deweerdt <yves.deweerdt.linux@xxxxxxxxx>
> ---
> drivers/staging/android/binder.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/android/binder.c b/drivers/staging/android/binder.c
> index cfe4bc8..0f74e43 100644
> --- a/drivers/staging/android/binder.c
> +++ b/drivers/staging/android/binder.c
> @@ -2683,16 +2683,21 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
> binder_free_thread(proc, thread);
> thread = NULL;
> break;
> - case BINDER_VERSION:
> + case BINDER_VERSION: {
> + struct binder_version __user *bv =
> + (struct binder_version __user *)ubuf;
> +
> if (size != sizeof(struct binder_version)) {
> ret = -EINVAL;
> goto err;
> }
> - if (put_user(BINDER_CURRENT_PROTOCOL_VERSION, &((struct binder_version *)ubuf)->protocol_version)) {
> + if (put_user(BINDER_CURRENT_PROTOCOL_VERSION,
> + &(bv->protocol_version))) {
> ret = -EINVAL;
> goto err;
> }
> break;
> + }
> default:
> ret = -EINVAL;
> goto err;
> --
> 1.8.3.2
>
> _______________________________________________
> devel mailing list
> devel@xxxxxxxxxxxxxxxxxxxxxx
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/