m68k: Add missing __user annotation in get_user()
authorJason Wang <jasowang@redhat.com>
Wed, 20 May 2020 06:57:50 +0000 (14:57 +0800)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 25 May 2020 08:55:56 +0000 (10:55 +0200)
The ptr is a pointer to userspace memory. So we need annotate it with
__user otherwise we may get sparse warnings like:

drivers/vhost/vhost.c:1603:13: sparse: sparse: incorrect type in initializer (different address spaces) @@    expected void const *__gu_ptr @@    got unsigned int [noderef] [usertypvoid const *__gu_ptr @@
drivers/vhost/vhost.c:1603:13: sparse:    expected void const *__gu_ptr
drivers/vhost/vhost.c:1603:13: sparse:    got unsigned int [noderef] [usertype] <asn:1> *idxp

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Link: https://lore.kernel.org/r/20200520065750.8401-1-jasowang@redhat.com
Fixes: 7124330dabe5b3cb ("m68k/uaccess: Revive 64-bit get_user()")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/include/asm/uaccess_mm.h

index 7e85de984df197aebb6c56debfe56dbf1f3fc7fe..9ae9f8d05925f872c30b1d27b03a79a5199b2ed4 100644 (file)
@@ -142,7 +142,7 @@ asm volatile ("\n"                                  \
                __get_user_asm(__gu_err, x, ptr, u32, l, r, -EFAULT);   \
                break;                                                  \
        case 8: {                                                       \
-               const void *__gu_ptr = (ptr);                           \
+               const void __user *__gu_ptr = (ptr);                    \
                union {                                                 \
                        u64 l;                                          \
                        __typeof__(*(ptr)) t;                           \