[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160204161741.GH10826@n2100.arm.linux.org.uk>
Date: Thu, 4 Feb 2016 16:17:42 +0000
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Benjamin LaHaise <bcrl@...ck.org>
Cc: Stephen Rothwell <sfr@...b.auug.org.au>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Linux-Next <linux-next@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: linux-next: build failure after merge of the aio tree
On Thu, Feb 04, 2016 at 11:01:01AM -0500, Benjamin LaHaise wrote:
> On Thu, Feb 04, 2016 at 02:39:07PM +0000, Russell King - ARM Linux wrote:
> > However, this one should warn:
> >
> > int test_wrong(char **v, const char **p)
> > { return __get_user(*v, p); }
> >
> > Good luck (I think you'll need lots of it to get a working solution)! :)
>
> This works with your test cases on x86-32. Note that it's only compile +
> link tested at present.
That's the easy bit!
The problem you're going to run into is here:
#define __get_user_nocheck(x, ptr, size) \
({ \
int __gu_err; \
unsigned long __gu_val; \
__uaccess_begin(); \
__get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
__uaccess_end(); \
(x) = (__force __typeof__(*(ptr)))__gu_val; \
__gu_val will be 32-bit, even when you're wanting a 64-bit quantity.
That's where the fun and games start...
--
RMK's Patch system: http://www.arm.linux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
Powered by blists - more mailing lists