Subject: [PATCH v2 03/40] arm64/uaccess: fix sparse errors

From: [email-masked] (Michael S. Tsirkin)
Date: Tue, 6 Jan 2015 23:51:15 +0200

On Tue, Jan 06, 2015 at 11:48:20PM +0200, Michael S. Tsirkin wrote:
> On Tue, Jan 06, 2015 at 07:14:32PM +0000, Will Deacon wrote:
> > Hi Michael,
> > 
> > On Tue, Jan 06, 2015 at 03:43:40PM +0000, 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]>
> > > 
> > > Acked-by: Will Deacon <[email-masked]>
> > > ---
> > 
> > Did you want us to take this via the arm64 tree, or are you planning to
> > merge it via another route?
> > 
> > Will
> 
> Up to you really: if you don't pick it up, Arnd said he'll merge
> through his tree.

Though if you do pick it up, need to also pick up the follow-up
patch - maybe my tree is easier.

> > >  arch/arm64/include/asm/uaccess.h | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/arch/arm64/include/asm/uaccess.h b/arch/arm64/include/asm/uaccess.h
> > > index 3bf8f4e..9a2069b 100644
> > > --- a/arch/arm64/include/asm/uaccess.h
> > > +++ b/arch/arm64/include/asm/uaccess.h
> > > @@ -147,7 +147,7 @@ do {									\
> > >  	default:							\
> > >  		BUILD_BUG();						\
> > >  	}								\
> > > -	(x) = (__typeof__(*(ptr)))__gu_val;				\
> > > +	(x) = (__force __typeof__(*(ptr)))__gu_val;			\
> > >  } while (0)
> > >  
> > >  #define __get_user(x, ptr)						\
> > > -- 
> > > MST
> > > 
> > >