[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1420057406.2085.7.camel@HansenPartnership.com>
Date: Wed, 31 Dec 2014 12:23:26 -0800
From: James Bottomley <James.Bottomley@...senPartnership.com>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: Helge Deller <deller@....de>, linux-kernel@...r.kernel.org,
Arnd Bergmann <arnd@...db.de>, linux-arch@...r.kernel.org,
"James E.J. Bottomley" <jejb@...isc-linux.org>,
linux-parisc@...r.kernel.org
Subject: Re: [PATCH repost 12/16] parisc/uaccess: fix sparse errors
On Wed, 2014-12-31 at 20:38 +0200, Michael S. Tsirkin wrote:
> On Wed, Dec 31, 2014 at 09:17:20AM -0800, James Bottomley wrote:
[...]
> > OK, parisc developers still being dense, but this does look like an
> > abuse of the bitwise type.
>
> To give you another example:
>
> __le16 __user *p;
> __le16 foo;
> int rc = get_user(v, p);
>
> really should be fine, ATM this gives a warning.
OK, I think I've figured it out. You're saying that casting __gu_val to
a bitwise annotated type is an automatic sparse failure because it has
to be a long in our assembly code to receive the load/store as a
register. However, this is required for sparse to do the correct lvalue
type = rvalue type check in the assignment to x. We were all thinking
the __force just killed these sparse type checks.
In that case, I think parisc is fine with this.
James
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists