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

Commit ec840956 authored by Glauber Costa's avatar Glauber Costa Committed by Ingo Molnar
Browse files

x86: turn __put_user_check directly into put_user.



We also check user pointer in x86_64 put_user, the way i386 does.

In a separate patch for bisecting purposes.

Signed-off-by: default avatarGlauber Costa <gcosta@redhat.com>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 64a978c1
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -23,9 +23,6 @@ extern void __put_user_bad(void);
		     :"c" (ptr),"a" (x)					\
		     :"ebx")

#define put_user(x, ptr)						\
	__put_user_check((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))

#define __get_user(x, ptr)						\
	__get_user_nocheck((x), (ptr), sizeof(*(ptr)))
#define __put_user(x, ptr)						\
@@ -34,11 +31,12 @@ extern void __put_user_bad(void);
#define __get_user_unaligned __get_user
#define __put_user_unaligned __put_user

#define __put_user_check(x, ptr, size)				\
#define put_user(x, ptr)					\
({								\
	int __pu_err;						\
	typeof(*(ptr)) __user *__pu_addr = (ptr);		\
	switch (size) {						\
	__chk_user_ptr(ptr);					\
	switch (sizeof(*(ptr))) {				\
	case 1:							\
		__put_user_x(1, __pu_err, x, __pu_addr);	\
		break;						\