Messages in this thread | | | Date | Thu, 4 Feb 2016 16:17:42 +0000 | From | Russell King - ARM Linux <> | 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.
| |