x86/uaccess: fix sparse errors
authorMichael S. Tsirkin <mst@redhat.com>
Thu, 11 Dec 2014 23:56:04 +0000 (01:56 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 13 Jan 2015 13:22:59 +0000 (15:22 +0200)
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>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/include/asm/uaccess.h

index 0d592e0..ace9dec 100644 (file)
@@ -179,7 +179,7 @@ __typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
        asm volatile("call __get_user_%P3"                              \
                     : "=a" (__ret_gu), "=r" (__val_gu)                 \
                     : "0" (ptr), "i" (sizeof(*(ptr))));                \
-       (x) = (__typeof__(*(ptr))) __val_gu;                            \
+       (x) = (__force __typeof__(*(ptr))) __val_gu;                    \
        __ret_gu;                                                       \
 })