Subject: Re: [PATCH 13/18] powerpc/uaccess: fix sparse errors

From: Benjamin Herrenschmidt <[email-masked]>
Date: Wed, 17 Dec 2014 11:52:36 +1100

On Tue, 2014-12-16 at 18:47 +0200, Michael S. Tsirkin wrote:
> On Sun, Dec 14, 2014 at 06:52:51PM +0200, Michael S. Tsirkin wrote:
> > 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 <[email-masked]>
> 
> Ping.
> Do powerpc maintainers consider fixing sparse errors
> applicable for 3.19?
> If yes, can you pls merge this patch?

Relax :-) Our patches are tracked in Patchwork and such fixes aren't
necessarily constrained by the merge window. Michael will probably
pick it up but don't expect systematic replies to patches in 2 days ...

Also, when sending a series like that where one of us only gets
CCed on one of the patch, it helps to make it clear whether you
only expect an ack or whether you expect us to take the patch.

Cheers,
Ben.
> > ---
> >  arch/powerpc/include/asm/uaccess.h | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/arch/powerpc/include/asm/uaccess.h b/arch/powerpc/include/asm/uaccess.h
> > index 9485b43..a0c071d 100644
> > --- a/arch/powerpc/include/asm/uaccess.h
> > +++ b/arch/powerpc/include/asm/uaccess.h
> > @@ -284,7 +284,7 @@ do {								\
> >  	if (!is_kernel_addr((unsigned long)__gu_addr))		\
> >  		might_fault();					\
> >  	__get_user_size(__gu_val, __gu_addr, (size), __gu_err);	\
> > -	(x) = (__typeof__(*(ptr)))__gu_val;			\
> > +	(x) = (__force __typeof__(*(ptr)))__gu_val;			\
> >  	__gu_err;						\
> >  })
> >  #endif /* __powerpc64__ */
> > @@ -297,7 +297,7 @@ do {								\
> >  	might_fault();							\
> >  	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;							\
> >  })
> >  
> > @@ -308,7 +308,7 @@ do {								\
> >  	const __typeof__(*(ptr)) __user *__gu_addr = (ptr);	\
> >  	__chk_user_ptr(ptr);					\
> >  	__get_user_size(__gu_val, __gu_addr, (size), __gu_err);	\
> > -	(x) = (__typeof__(*(ptr)))__gu_val;			\
> > +	(x) = (__force __typeof__(*(ptr)))__gu_val;			\
> >  	__gu_err;						\
> >  })
> >  
> > -- 
> > MST
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/