CRIS: uaccess: fix sparse errors
authorMichael S. Tsirkin <mst@redhat.com>
Tue, 27 Jan 2015 16:20:10 +0000 (17:20 +0100)
committerJesper Nilsson <jespern@axis.com>
Sat, 14 Feb 2015 17:53:52 +0000 (18:53 +0100)
virtio wants to read bitwise types from userspace using get_user.  At the
moment this triggers sparse errors, since the value is passed through an
integer.

Fix that up using __force.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
arch/cris/include/asm/uaccess.h

index 9145408..9cf5a23 100644 (file)
@@ -153,7 +153,7 @@ struct __large_struct { unsigned long buf[100]; };
 ({                                                             \
        long __gu_err, __gu_val;                                \
        __get_user_size(__gu_val,(ptr),(size),__gu_err);        \
-       (x) = (__typeof__(*(ptr)))__gu_val;                     \
+       (x) = (__force __typeof__(*(ptr)))__gu_val;             \
        __gu_err;                                               \
 })
 
@@ -163,7 +163,7 @@ struct __large_struct { unsigned long buf[100]; };
        const __typeof__(*(ptr)) *__gu_addr = (ptr);                    \
        if (access_ok(VERIFY_READ,__gu_addr,size))                      \
                __get_user_size(__gu_val,__gu_addr,(size),__gu_err);    \
-       (x) = (__typeof__(*(ptr)))__gu_val;                             \
+       (x) = (__force __typeof__(*(ptr)))__gu_val;                     \
        __gu_err;                                                       \
 })