On Sun, May 21, 2017 at 12:35:28PM -0700, Linus Torvalds wrote:
>
>
> On Sun, 21 May 2017, Al Viro wrote:
> >
> > fix unsafe_put_user()
>
> So here's my proposed patch on top of yours to fix unsafe_get_user() with
> "long long" arguments, and to clean up the extra-long line you did.
>
> Comments?
> #define unsafe_get_user(x, ptr, err_label)
> \
> do {
> \
> int __gu_err;
> \
> - unsigned long __gu_val;
> \
> + __inttype(*(ptr)) __gu_val;
> \
Umm... get_user() for anything larger than long is simply not supported on
a lot of architectures[1]. Do we really want to do that for unsafe_get_user()?
[1] at the moment, blackfin, m32r, m68k/mmu, microblaze, mn10300, nios2, sh.
arm allows it for get_user() (and rmk was really unhappy about doing so), but
not for __get_user().