2011-09-23 22:25:54

by Hartley Sweeten

[permalink] [raw]
Subject: [PATCH] ext4/ioctl.c: copy_{from,to}_user expect __user pointers

This quiets the sparse noise:

warning: incorrect type in argument 2 (different address spaces)
expected void const [noderef] <asn:1>*from
got struct fstrim_range *<noident>
warning: incorrect type in argument 1 (different address spaces)
expected void [noderef] <asn:1>*to
got struct fstrim_range *<noident>

Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: "Theodore Ts'o" <[email protected]>
Cc: Andreas Dilger <[email protected]>

---

diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
index f18bfe3..43759b1 100644
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -348,7 +348,7 @@ mext_out:
if (!blk_queue_discard(q))
return -EOPNOTSUPP;

- if (copy_from_user(&range, (struct fstrim_range *)arg,
+ if (copy_from_user(&range, (struct fstrim_range __user *)arg,
sizeof(range)))
return -EFAULT;

@@ -358,7 +358,7 @@ mext_out:
if (ret < 0)
return ret;

- if (copy_to_user((struct fstrim_range *)arg, &range,
+ if (copy_to_user((struct fstrim_range __user *)arg, &range,
sizeof(range)))
return -EFAULT;



2011-10-12 03:10:13

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] ext4/ioctl.c: copy_{from,to}_user expect __user pointers

On Fri, Sep 23, 2011 at 03:25:54PM -0700, H Hartley Sweeten wrote:
> This quiets the sparse noise:
>
> warning: incorrect type in argument 2 (different address spaces)
> expected void const [noderef] <asn:1>*from
> got struct fstrim_range *<noident>
> warning: incorrect type in argument 1 (different address spaces)
> expected void [noderef] <asn:1>*to
> got struct fstrim_range *<noident>
>
> Signed-off-by: H Hartley Sweeten <[email protected]>
> Cc: "Theodore Ts'o" <[email protected]>
> Cc: Andreas Dilger <[email protected]>

Thanks, applied.

- Ted