Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2f18fa4 authored by Al Viro's avatar Al Viro
Browse files

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: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent fd2d2b19
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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"				\