staging: android: binder.c: avoid sparse checker warning: cast removes address space of expression
PATCH 1/1 staging: android: binder.c: avoid sparse checker warning: cast removes address space of expression
__user should be kept when casting to struct binder_version *
Signed-off-by Yves Deweerdt <[email protected]>
--- drivers/staging/android/binder.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
drivers/staging/android/binder.c +7 -2
@@ -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;
Signature · 1 line
1.8.3.2
Quoted 4 lines · Yves Deweerdt
__usershould be kept when casting to structbinder_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
Quoted 40 lines
Signed-off-by Yves Deweerdt <[email protected]>--- drivers/staging/android/binder.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)drivers/staging/android/binder.c +7
-2@@ -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;Signature · 6 lines
1.8.3.2 _______________________________________________ devel mailing list [email protected] http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel