On Wed, May 20, 2020 at 02:57:50PM +0800, Jason Wang wrote: > 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 > > Cc: Geert Uytterhoeven <[email protected]> > Cc: [email protected] > Cc: [email protected] > Reported-by: kbuild test robot <[email protected]> > Signed-off-by: Jason Wang <[email protected]>
Makes sense: Acked-by: Michael S. Tsirkin <[email protected]> > --- > arch/m68k/include/asm/uaccess_mm.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/m68k/include/asm/uaccess_mm.h > b/arch/m68k/include/asm/uaccess_mm.h > index 7e85de984df1..9ae9f8d05925 100644 > --- a/arch/m68k/include/asm/uaccess_mm.h > +++ b/arch/m68k/include/asm/uaccess_mm.h > @@ -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; \ > -- > 2.20.1

