mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
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>
This commit is contained in:
parent
fd2d2b191f
commit
c2f18fa4cb
@ -163,7 +163,7 @@ do { \
|
|||||||
__get_user_asm(val, "lw", ptr); \
|
__get_user_asm(val, "lw", ptr); \
|
||||||
break; \
|
break; \
|
||||||
case 8: \
|
case 8: \
|
||||||
if ((copy_from_user((void *)&val, ptr, 8)) == 0) \
|
if (__copy_from_user((void *)&val, ptr, 8) == 0) \
|
||||||
__gu_err = 0; \
|
__gu_err = 0; \
|
||||||
else \
|
else \
|
||||||
__gu_err = -EFAULT; \
|
__gu_err = -EFAULT; \
|
||||||
@ -188,6 +188,8 @@ do { \
|
|||||||
\
|
\
|
||||||
if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \
|
if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \
|
||||||
__get_user_common((x), size, __gu_ptr); \
|
__get_user_common((x), size, __gu_ptr); \
|
||||||
|
else \
|
||||||
|
(x) = 0; \
|
||||||
\
|
\
|
||||||
__gu_err; \
|
__gu_err; \
|
||||||
})
|
})
|
||||||
@ -201,6 +203,7 @@ do { \
|
|||||||
"2:\n" \
|
"2:\n" \
|
||||||
".section .fixup,\"ax\"\n" \
|
".section .fixup,\"ax\"\n" \
|
||||||
"3:li %0, %4\n" \
|
"3:li %0, %4\n" \
|
||||||
|
"li %1, 0\n" \
|
||||||
"j 2b\n" \
|
"j 2b\n" \
|
||||||
".previous\n" \
|
".previous\n" \
|
||||||
".section __ex_table,\"a\"\n" \
|
".section __ex_table,\"a\"\n" \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user