diff options
author | Alexander Nyberg <alexn@telia.com> | 2005-04-22 13:22:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-22 13:22:07 -0400 |
commit | efab7739d99eae948971140b2aa3dddf7f72c900 (patch) | |
tree | d0278bb7304946182dd4337fcbceb9fc32fb2901 /arch | |
parent | 21b7ef0c6c62a14bc8e1c8c0af4e1f0ba3a56d66 (diff) |
[PATCH] x86_64: fix new out of line put_user()
The labels after the last put_user patch were misplaced so
exceptions on the real mov instructions would not be handled.
Noted by Brian Gerst <bgerst@didntduck.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86_64/lib/putuser.S | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/x86_64/lib/putuser.S b/arch/x86_64/lib/putuser.S index d9d3e5ec9ad1..5828b8191667 100644 --- a/arch/x86_64/lib/putuser.S +++ b/arch/x86_64/lib/putuser.S | |||
@@ -49,8 +49,8 @@ __put_user_2: | |||
49 | jc 20f | 49 | jc 20f |
50 | cmpq threadinfo_addr_limit(%r8),%rcx | 50 | cmpq threadinfo_addr_limit(%r8),%rcx |
51 | jae 20f | 51 | jae 20f |
52 | 2: decq %rcx | 52 | decq %rcx |
53 | movw %dx,(%rcx) | 53 | 2: movw %dx,(%rcx) |
54 | xorl %eax,%eax | 54 | xorl %eax,%eax |
55 | ret | 55 | ret |
56 | 20: decq %rcx | 56 | 20: decq %rcx |
@@ -64,8 +64,8 @@ __put_user_4: | |||
64 | jc 30f | 64 | jc 30f |
65 | cmpq threadinfo_addr_limit(%r8),%rcx | 65 | cmpq threadinfo_addr_limit(%r8),%rcx |
66 | jae 30f | 66 | jae 30f |
67 | 3: subq $3,%rcx | 67 | subq $3,%rcx |
68 | movl %edx,(%rcx) | 68 | 3: movl %edx,(%rcx) |
69 | xorl %eax,%eax | 69 | xorl %eax,%eax |
70 | ret | 70 | ret |
71 | 30: subq $3,%rcx | 71 | 30: subq $3,%rcx |
@@ -79,8 +79,8 @@ __put_user_8: | |||
79 | jc 40f | 79 | jc 40f |
80 | cmpq threadinfo_addr_limit(%r8),%rcx | 80 | cmpq threadinfo_addr_limit(%r8),%rcx |
81 | jae 40f | 81 | jae 40f |
82 | 4: subq $7,%rcx | 82 | subq $7,%rcx |
83 | movq %rdx,(%rcx) | 83 | 4: movq %rdx,(%rcx) |
84 | xorl %eax,%eax | 84 | xorl %eax,%eax |
85 | ret | 85 | ret |
86 | 40: subq $7,%rcx | 86 | 40: subq $7,%rcx |