nios2/uaccess: fix sparse errors
authorLey Foon Tan <lftan@altera.com>
Wed, 17 Dec 2014 05:53:41 +0000 (13:53 +0800)
committerLey Foon Tan <lftan@altera.com>
Wed, 17 Dec 2014 05:53:41 +0000 (13:53 +0800)
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.

Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Ley Foon Tan <lftan@altera.com>
arch/nios2/include/asm/uaccess.h

index acedc0a..caa51ff 100644 (file)
@@ -168,7 +168,7 @@ do {                                                                        \
        const __typeof__(*(ptr)) __user *__gu_ptr = (ptr);              \
        unsigned long __gu_val;                                         \
        __get_user_common(__gu_val, sizeof(*(ptr)), __gu_ptr, __gu_err);\
-       (x) = (__typeof__(x))__gu_val;                                  \
+       (x) = (__force __typeof__(x))__gu_val;                          \
        __gu_err;                                                       \
        })
 
@@ -180,7 +180,7 @@ do {                                                                        \
        if (access_ok(VERIFY_READ,  __gu_ptr, sizeof(*__gu_ptr)))       \
                __get_user_common(__gu_val, sizeof(*__gu_ptr),          \
                        __gu_ptr, __gu_err);                            \
-       (x) = (__typeof__(x))__gu_val;                                  \
+       (x) = (__force __typeof__(x))__gu_val;                          \
        __gu_err;                                                       \
 })