x86: wrong register was used in align macro
authorVitaly Mayatskikh <v.mayatskih@gmail.com>
Wed, 30 Jul 2008 11:30:14 +0000 (13:30 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 30 Jul 2008 17:10:39 +0000 (10:10 -0700)
New ALIGN_DESTINATION macro has sad typo: r8d register was used instead
of ecx in fixup section. This can be considered as a regression.

Register ecx was also wrongly loaded with value in r8d in
copy_user_nocache routine.

Signed-off-by: Vitaly Mayatskikh <v.mayatskih@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86/lib/copy_user_64.S
arch/x86/lib/copy_user_nocache_64.S

index dfdf428..f118c11 100644 (file)
@@ -52,7 +52,7 @@
        jnz 100b
 102:
        .section .fixup,"ax"
-103:   addl %r8d,%edx                  /* ecx is zerorest also */
+103:   addl %ecx,%edx                  /* ecx is zerorest also */
        jmp copy_user_handle_tail
        .previous
 
index 40e0e30..cb0c112 100644 (file)
@@ -32,7 +32,7 @@
        jnz 100b
 102:
        .section .fixup,"ax"
-103:   addl %r8d,%edx                  /* ecx is zerorest also */
+103:   addl %ecx,%edx                  /* ecx is zerorest also */
        jmp copy_user_handle_tail
        .previous
 
@@ -108,7 +108,6 @@ ENTRY(__copy_user_nocache)
        jmp 60f
 50:    movl %ecx,%edx
 60:    sfence
-       movl %r8d,%ecx
        jmp copy_user_handle_tail
        .previous