projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
fd2d2b1
)
score: fix __get_user/get_user
author
Al Viro
<viro@zeniv.linux.org.uk>
Mon, 22 Aug 2016 02:13:39 +0000
(22:13 -0400)
committer
Al Viro
<viro@zeniv.linux.org.uk>
Tue, 13 Sep 2016 21:50:13 +0000
(17:50 -0400)
* should zero on any failure
* __get_user() should use __copy_from_user(), not copy_from_user()
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/score/include/asm/uaccess.h
patch
|
blob
|
blame
|
history
diff --git
a/arch/score/include/asm/uaccess.h
b/arch/score/include/asm/uaccess.h
index 20a3591225ccea9aa3d93acc11a97a34bf254501..c5d43111a5cc151f51a727aeba2979466744266b 100644
(file)
--- a/
arch/score/include/asm/uaccess.h
+++ b/
arch/score/include/asm/uaccess.h
@@
-163,7
+163,7
@@
do { \
__get_user_asm(val, "lw", ptr); \
break; \
case 8: \
- if (
(copy_from_user((void *)&val, ptr, 8)
) == 0) \
+ if (
__copy_from_user((void *)&val, ptr, 8
) == 0) \
__gu_err = 0; \
else \
__gu_err = -EFAULT; \
@@
-188,6
+188,8
@@
do { \
\
if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \
__get_user_common((x), size, __gu_ptr); \
+ else \
+ (x) = 0; \
\
__gu_err; \
})
@@
-201,6
+203,7
@@
do { \
"2:\n" \
".section .fixup,\"ax\"\n" \
"3:li %0, %4\n" \
+ "li %1, 0\n" \
"j 2b\n" \
".previous\n" \
".section __ex_table,\"a\"\n" \