This is consistent with i386 usage.
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>
GET_THREAD_INFO(%rbx)
cmpq TI_addr_limit(%rbx),%rcx
jae bad_put_user
GET_THREAD_INFO(%rbx)
cmpq TI_addr_limit(%rbx),%rcx
jae bad_put_user
xorl %eax,%eax
ret
CFI_ENDPROC
xorl %eax,%eax
ret
CFI_ENDPROC
cmpq TI_addr_limit(%rbx),%rcx
jae 20f
decq %rcx
cmpq TI_addr_limit(%rbx),%rcx
jae 20f
decq %rcx
xorl %eax,%eax
ret
20: decq %rcx
xorl %eax,%eax
ret
20: decq %rcx
cmpq TI_addr_limit(%rbx),%rcx
jae 30f
subq $3,%rcx
cmpq TI_addr_limit(%rbx),%rcx
jae 30f
subq $3,%rcx
xorl %eax,%eax
ret
30: subq $3,%rcx
xorl %eax,%eax
ret
30: subq $3,%rcx
cmpq TI_addr_limit(%rbx),%rcx
jae 40f
subq $7,%rcx
cmpq TI_addr_limit(%rbx),%rcx
jae 40f
subq $7,%rcx
xorl %eax,%eax
ret
40: subq $7,%rcx
xorl %eax,%eax
ret
40: subq $7,%rcx
#define __put_user_x(size, ret, x, ptr) \
asm volatile("call __put_user_" #size \
:"=a" (ret) \
#define __put_user_x(size, ret, x, ptr) \
asm volatile("call __put_user_" #size \
:"=a" (ret) \
:"ebx")
#define put_user(x, ptr) \
:"ebx")
#define put_user(x, ptr) \