projects
/
platform
/
kernel
/
linux-exynos.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8e5c49f
)
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
Sasha Levin
<alexander.levin@verizon.com>
Mon, 3 Oct 2016 01:14:23 +0000
(21:14 -0400)
[ Upstream commit
c2f18fa4cbb3ad92e033a24efa27583978ce9600
]
* 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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
arch/score/include/asm/uaccess.h
patch
|
blob
|
history
diff --git
a/arch/score/include/asm/uaccess.h
b/arch/score/include/asm/uaccess.h
index ab66ddde777b5a3413cb2e334fa4ca6be6614c97..c882d961e5b89ccb77c2dcdfe51b471b6bf1daff 100644
(file)
--- a/
arch/score/include/asm/uaccess.h
+++ b/
arch/score/include/asm/uaccess.h
@@
-158,7
+158,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; \
@@
-183,6
+183,8
@@
do { \
\
if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \
__get_user_common((x), size, __gu_ptr); \
+ else \
+ (x) = 0; \
\
__gu_err; \
})
@@
-196,6
+198,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" \