diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-23 02:21:27 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-23 02:21:27 +0200 |
commit | bd28b14591b98f696bc9f94c5ba2e598ca487dfd (patch) | |
tree | 5cd165412fa7dec2dbbac28ff6d8d5b12d3011f4 /mm/maccess.c | |
parent | x86: remove pointless uaccess_32.h complexity (diff) | |
download | linux-bd28b14591b98f696bc9f94c5ba2e598ca487dfd.tar.xz linux-bd28b14591b98f696bc9f94c5ba2e598ca487dfd.zip |
x86: remove more uaccess_32.h complexity
I'm looking at trying to possibly merge the 32-bit and 64-bit versions
of the x86 uaccess.h implementation, but first this needs to be cleaned
up.
For example, the 32-bit version of "__copy_from_user_inatomic()" is
mostly the special cases for the constant size, and it's actually almost
never relevant. Most users aren't actually using a constant size
anyway, and the few cases that do small constant copies are better off
just using __get_user() instead.
So get rid of the unnecessary complexity.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/maccess.c')
-rw-r--r-- | mm/maccess.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/mm/maccess.c b/mm/maccess.c index d159b1c96e48..78f9274dd49d 100644 --- a/mm/maccess.c +++ b/mm/maccess.c @@ -96,8 +96,7 @@ long strncpy_from_unsafe(char *dst, const void *unsafe_addr, long count) pagefault_disable(); do { - ret = __copy_from_user_inatomic(dst++, - (const void __user __force *)src++, 1); + ret = __get_user(*dst++, (const char __user __force *)src++); } while (dst[-1] && ret == 0 && src - unsafe_addr < count); dst[-1] = '\0'; |