git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
arch
/
x86_64
/
lib
/
copy_user.S
diff --git
a/arch/x86_64/lib/copy_user.S
b/arch/x86_64/lib/copy_user.S
index
6859a78
..
bd556c8
100644
(file)
--- a/
arch/x86_64/lib/copy_user.S
+++ b/
arch/x86_64/lib/copy_user.S
@@
-73,7
+73,7
@@
bad_to_user:
* rdx count
*
* Output:
* rdx count
*
* Output:
- * eax uncopied bytes or 0 if successful
l.
+ * eax uncopied bytes or 0 if successful
.
*/
.globl copy_user_generic
.p2align 4
*/
.globl copy_user_generic
.p2align 4
@@
-179,9
+179,9
@@
copy_user_generic:
movl $8,%r9d
subl %ecx,%r9d
movl %r9d,%ecx
movl $8,%r9d
subl %ecx,%r9d
movl %r9d,%ecx
-
sub
q %r9,%rdx
- jz .L
small_align
- js .L
small_align
+
cmp
q %r9,%rdx
+ jz .L
handle_7
+ js .L
handle_7
.Lalign_1:
.Ls11: movb (%rsi),%bl
.Ld11: movb %bl,(%rdi)
.Lalign_1:
.Ls11: movb (%rsi),%bl
.Ld11: movb %bl,(%rdi)
@@
-189,10
+189,8
@@
copy_user_generic:
incq %rdi
decl %ecx
jnz .Lalign_1
incq %rdi
decl %ecx
jnz .Lalign_1
+ subq %r9,%rdx
jmp .Lafter_bad_alignment
jmp .Lafter_bad_alignment
-.Lsmall_align:
- addq %r9,%rdx
- jmp .Lhandle_7
#endif
/* table sorted by exception address */
#endif
/* table sorted by exception address */
@@
-219,8
+217,8
@@
copy_user_generic:
.quad .Ls10,.Le_byte
.quad .Ld10,.Le_byte
#ifdef FIX_ALIGNMENT
.quad .Ls10,.Le_byte
.quad .Ld10,.Le_byte
#ifdef FIX_ALIGNMENT
- .quad .Ls11,.L
e_byte
- .quad .Ld11,.L
e_byte
+ .quad .Ls11,.L
zero_rest
+ .quad .Ld11,.L
zero_rest
#endif
.quad .Le5,.Le_zero
.previous
#endif
.quad .Le5,.Le_zero
.previous