Re: [PATCH] csky: uaccess.h: Coding convention with asm generic

From: Christoph Hellwig
Date: Wed Apr 28 2021 - 08:50:08 EST

On Wed, Apr 28, 2021 at 11:25:29AM +0200, Arnd Bergmann wrote:
> Actually, please don't use the asm-generic __put_user version based
> on copy_to_user, we probably have killed it off long ago.

Yes, they are horrible.

> We might want to come up with a new version of asm-generic/uaccess.h
> that actually makes it easier to have a sane per-architecture
> implementation of the low-level accessors without set_fs().
> I've added Christoph to Cc here, he probably has some ideas
> on where we should be heading.

I think asm-generic/uaccess.h pretty much only makes sense for
nommu. For that case we can just kill the __{get,put}_user_fn
indirection. I actually have work for that in an old branch.

Trying to use any of asm-generic/uaccess.h for MMU based kernel is
just asking for trouble.

> One noteworthy aspect is that almost nothing users the low-level
> __get_user()/__put_user() helpers any more outside of architecture
> specific code, so we may not need to have separate versions
> for much longer.

Al has been trying to kill them off entirely for a while, and I hope
he'll eventually succeed. That being said the difference should be
that the __ versions just skip the access_ok, so having both is
fairly trivial to implement.