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.