On Tue, Feb 15, 2022 at 1:31 AM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > On Mon, Feb 14, 2022 at 05:34:43PM +0100, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@xxxxxxxx> > > > > 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