Messages in this thread | | | From | Linus Torvalds <> | Date | Wed, 29 Mar 2017 14:24:37 -0700 | Subject | Re: [RFC][CFT][PATCHSET v1] uaccess unification |
| |
On Wed, Mar 29, 2017 at 2:03 PM, Al Viro <viro@zeniv.linux.org.uk> wrote: > > it's not as if having the possibility to inline them > would really complicate the generic side of things...
I disagree.
I think one of the biggest problems with our current uaccess.h mess is just how illegible the header files are, and the INLINE_COPY_{TO,FROM}_USER thing is not helping.
I think it would be much better if the header file just had
extern unsigned long _copy_from_user(void *, const void __user *, unsigned long);
and nothing else. No unnecessary noise.
The same goes for things like [__]copy_in_user() - why is that thing still inlined? If it was a *macro*, it might be useful due to the might_fault() thing giving the caller information, but that's not even the case here, so we'd actually be much better off without any of that inlining stuff. Do it all in lib/usercopy.c, and move the might_fault() in there too.
Linus
| |