aboutsummaryrefslogtreecommitdiffstats
path: root/arch/score/include
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-08-21 22:13:39 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2016-09-13 17:50:13 -0400
commitc2f18fa4cbb3ad92e033a24efa27583978ce9600 (patch)
tree623b1209df74e6777cff21805d4ac71d18009e2c /arch/score/include
parentfd2d2b191fe75825c4c7a6f12f3fef35aaed7dd7 (diff)
score: fix __get_user/get_user
* 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>
Diffstat (limited to 'arch/score/include')
-rw-r--r--arch/score/include/asm/uaccess.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/score/include/asm/uaccess.h b/arch/score/include/asm/uaccess.h
index 20a3591225cc..c5d43111a5cc 100644
--- a/arch/score/include/asm/uaccess.h
+++ b/arch/score/include/asm/uaccess.h
@@ -163,7 +163,7 @@ do { \
163 __get_user_asm(val, "lw", ptr); \ 163 __get_user_asm(val, "lw", ptr); \
164 break; \ 164 break; \
165 case 8: \ 165 case 8: \
166 if ((copy_from_user((void *)&val, ptr, 8)) == 0) \ 166 if (__copy_from_user((void *)&val, ptr, 8) == 0) \
167 __gu_err = 0; \ 167 __gu_err = 0; \
168 else \ 168 else \
169 __gu_err = -EFAULT; \ 169 __gu_err = -EFAULT; \
@@ -188,6 +188,8 @@ do { \
188 \ 188 \
189 if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \ 189 if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \
190 __get_user_common((x), size, __gu_ptr); \ 190 __get_user_common((x), size, __gu_ptr); \
191 else \
192 (x) = 0; \
191 \ 193 \
192 __gu_err; \ 194 __gu_err; \
193}) 195})
@@ -201,6 +203,7 @@ do { \
201 "2:\n" \ 203 "2:\n" \
202 ".section .fixup,\"ax\"\n" \ 204 ".section .fixup,\"ax\"\n" \
203 "3:li %0, %4\n" \ 205 "3:li %0, %4\n" \
206 "li %1, 0\n" \
204 "j 2b\n" \ 207 "j 2b\n" \
205 ".previous\n" \ 208 ".previous\n" \
206 ".section __ex_table,\"a\"\n" \ 209 ".section __ex_table,\"a\"\n" \