Messages in this thread | | | From | Arnd Bergmann <> | Date | Tue, 15 Feb 2022 14:16:50 +0100 | Subject | Re: [PATCH 05/14] uaccess: add generic __{get,put}_kernel_nofault |
| |
On Tue, Feb 15, 2022 at 1:31 AM Al Viro <viro@zeniv.linux.org.uk> wrote: > > On Mon, Feb 14, 2022 at 05:34:43PM +0100, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > All architectures that don't provide __{get,put}_kernel_nofault() yet > > can implement this on top of __{get,put}_user. > > > > Add a generic version that lets everything use the normal > > copy_{from,to}_kernel_nofault() code based on these, removing the last > > use of get_fs()/set_fs() from architecture-independent code. > > I'd put the list of those architectures (AFAICS, that's alpha, ia64, > microblaze, nds32, nios2, openrisc, sh, sparc32, xtensa) into commit > message - it's not that hard to find out, but...
done.
> And AFAICS, you've missed nios2 - see > #define __put_user(x, ptr) put_user(x, ptr) > in there. nds32 oddities are dealt with earlier in the series, this > one is not...
Ok, fixed my bug in nios2 __put_user() as well now. This one is not nearly as bad as nds32, at least without my patches it should work as expected.
Unfortunately I also noticed that __get_user() on microblaze and nios2 is completely broken for 64-bit arguments, where these copy eight bytes into a four byte buffer. I'll try to come up with a fix for this as well then.
Arnd
| |