mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 07:34:06 +08:00
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: Glauber Costa <gcosta@redhat.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
64a978c1e3
commit
ec840956d2
@ -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; \
|
||||
|
Loading…
Reference in New Issue
Block a user