Re: x86_64: Bug in new out of line put_user()

From: Alexander Nyberg
Date: Fri Apr 22 2005 - 03:23:06 EST


Brian, thanks for seeing this. (me goes hiding...)

The labels after the last put_user patch were misplaced so
exceptions on the real mov instructions would not be handled.

Index: test/arch/x86_64/lib/putuser.S
===================================================================
--- test.orig/arch/x86_64/lib/putuser.S 2005-04-22 10:04:25.000000000 +0200
+++ test/arch/x86_64/lib/putuser.S 2005-04-22 10:06:29.000000000 +0200
@@ -49,8 +49,8 @@
jc 20f
cmpq threadinfo_addr_limit(%r8),%rcx
jae 20f
-2: decq %rcx
- movw %dx,(%rcx)
+ decq %rcx
+2: movw %dx,(%rcx)
xorl %eax,%eax
ret
20: decq %rcx
@@ -64,8 +64,8 @@
jc 30f
cmpq threadinfo_addr_limit(%r8),%rcx
jae 30f
-3: subq $3,%rcx
- movl %edx,(%rcx)
+ subq $3,%rcx
+3: movl %edx,(%rcx)
xorl %eax,%eax
ret
30: subq $3,%rcx
@@ -79,8 +79,8 @@
jc 40f
cmpq threadinfo_addr_limit(%r8),%rcx
jae 40f
-4: subq $7,%rcx
- movq %rdx,(%rcx)
+ subq $7,%rcx
+4: movq %rdx,(%rcx)
xorl %eax,%eax
ret
40: subq $7,%rcx


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/