diff options
author | Namhyung Kim <namhyung@gmail.com> | 2010-10-27 18:34:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-27 21:03:12 -0400 |
commit | a9384e23ab19eba0dedb861ebcba805b98a3b7a5 (patch) | |
tree | 306969d7845d13bbc16dad4c668f14cb58e3024f /arch/sparc/kernel/ptrace_64.c | |
parent | 9e1cb20619d8037248b6a776f777600c3584a8d5 (diff) |
ptrace: cleanup arch_ptrace() on sparc
Factor out struct fps and remove redundant castings.
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sparc/kernel/ptrace_64.c')
-rw-r--r-- | arch/sparc/kernel/ptrace_64.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sparc/kernel/ptrace_64.c b/arch/sparc/kernel/ptrace_64.c index d9db5a4dfef9..9ccc812bc09e 100644 --- a/arch/sparc/kernel/ptrace_64.c +++ b/arch/sparc/kernel/ptrace_64.c | |||
@@ -976,10 +976,12 @@ long arch_ptrace(struct task_struct *child, long request, | |||
976 | unsigned long addr2 = task_pt_regs(current)->u_regs[UREG_I4]; | 976 | unsigned long addr2 = task_pt_regs(current)->u_regs[UREG_I4]; |
977 | struct pt_regs __user *pregs; | 977 | struct pt_regs __user *pregs; |
978 | struct fps __user *fps; | 978 | struct fps __user *fps; |
979 | void __user *addr2p; | ||
979 | int ret; | 980 | int ret; |
980 | 981 | ||
981 | pregs = (struct pt_regs __user *) addr; | 982 | pregs = (struct pt_regs __user *) addr; |
982 | fps = (struct fps __user *) addr; | 983 | fps = (struct fps __user *) addr; |
984 | addr2p = (void __user *) addr2; | ||
983 | 985 | ||
984 | switch (request) { | 986 | switch (request) { |
985 | case PTRACE_PEEKUSR: | 987 | case PTRACE_PEEKUSR: |
@@ -1030,8 +1032,7 @@ long arch_ptrace(struct task_struct *child, long request, | |||
1030 | 1032 | ||
1031 | case PTRACE_READTEXT: | 1033 | case PTRACE_READTEXT: |
1032 | case PTRACE_READDATA: | 1034 | case PTRACE_READDATA: |
1033 | ret = ptrace_readdata(child, addr, | 1035 | ret = ptrace_readdata(child, addr, addr2p, data); |
1034 | (char __user *)addr2, data); | ||
1035 | if (ret == data) | 1036 | if (ret == data) |
1036 | ret = 0; | 1037 | ret = 0; |
1037 | else if (ret >= 0) | 1038 | else if (ret >= 0) |
@@ -1040,8 +1041,7 @@ long arch_ptrace(struct task_struct *child, long request, | |||
1040 | 1041 | ||
1041 | case PTRACE_WRITETEXT: | 1042 | case PTRACE_WRITETEXT: |
1042 | case PTRACE_WRITEDATA: | 1043 | case PTRACE_WRITEDATA: |
1043 | ret = ptrace_writedata(child, (char __user *) addr2, | 1044 | ret = ptrace_writedata(child, addr2p, addr, data); |
1044 | addr, data); | ||
1045 | if (ret == data) | 1045 | if (ret == data) |
1046 | ret = 0; | 1046 | ret = 0; |
1047 | else if (ret >= 0) | 1047 | else if (ret >= 0) |