Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 100046
b: refs/heads/master
c: edf1016
h: refs/heads/master
v: v3
  • Loading branch information
Glauber Costa authored and Ingo Molnar committed Jul 9, 2008
1 parent fec66ec commit a70972b
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 24 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f8dd0d3c62164160c59034a96eb17d69ac8a0328
refs/heads/master: edf10162b2c5ad78ada8e63e960f9d0949c6c219
42 changes: 21 additions & 21 deletions trunk/arch/x86/lib/getuser_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -36,59 +36,59 @@
.text
ENTRY(__get_user_1)
CFI_STARTPROC
GET_THREAD_INFO(%r8)
cmpq threadinfo_addr_limit(%r8),%rcx
GET_THREAD_INFO(%rdx)
cmpq threadinfo_addr_limit(%rdx),%rax
jae bad_get_user
1: movzb (%rcx),%edx
1: movzb (%rax),%edx
xorl %eax,%eax
ret
CFI_ENDPROC
ENDPROC(__get_user_1)

ENTRY(__get_user_2)
CFI_STARTPROC
GET_THREAD_INFO(%r8)
addq $1,%rcx
GET_THREAD_INFO(%rdx)
addq $1,%rax
jc 20f
cmpq threadinfo_addr_limit(%r8),%rcx
cmpq threadinfo_addr_limit(%rdx),%rax
jae 20f
decq %rcx
2: movzwl (%rcx),%edx
decq %rax
2: movzwl (%rax),%edx
xorl %eax,%eax
ret
20: decq %rcx
20: decq %rax
jmp bad_get_user
CFI_ENDPROC
ENDPROC(__get_user_2)

ENTRY(__get_user_4)
CFI_STARTPROC
GET_THREAD_INFO(%r8)
addq $3,%rcx
GET_THREAD_INFO(%rdx)
addq $3,%rax
jc 30f
cmpq threadinfo_addr_limit(%r8),%rcx
cmpq threadinfo_addr_limit(%rdx),%rax
jae 30f
subq $3,%rcx
3: movl (%rcx),%edx
subq $3,%rax
3: movl (%rax),%edx
xorl %eax,%eax
ret
30: subq $3,%rcx
30: subq $3,%rax
jmp bad_get_user
CFI_ENDPROC
ENDPROC(__get_user_4)

ENTRY(__get_user_8)
CFI_STARTPROC
GET_THREAD_INFO(%r8)
addq $7,%rcx
GET_THREAD_INFO(%rdx)
addq $7,%rax
jc 40f
cmpq threadinfo_addr_limit(%r8),%rcx
cmpq threadinfo_addr_limit(%rdx),%rax
jae 40f
subq $7,%rcx
4: movq (%rcx),%rdx
subq $7,%rax
4: movq (%rax),%rdx
xorl %eax,%eax
ret
40: subq $7,%rcx
40: subq $7,%rax
jmp bad_get_user
CFI_ENDPROC
ENDPROC(__get_user_8)
Expand Down
3 changes: 1 addition & 2 deletions trunk/include/asm-x86/uaccess_64.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,7 @@ extern int fixup_exception(struct pt_regs *regs);
#define __get_user_x(size, ret, x, ptr) \
asm volatile("call __get_user_" #size \
: "=a" (ret),"=d" (x) \
: "c" (ptr) \
: "r8")
: "0" (ptr)) \

/* Careful: we have to cast the result to the type of the pointer
* for sign reasons */
Expand Down

0 comments on commit a70972b

Please sign in to comment.