diff options
Diffstat (limited to 'arch/m32r/kernel/ptrace.c')
-rw-r--r-- | arch/m32r/kernel/ptrace.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/m32r/kernel/ptrace.c b/arch/m32r/kernel/ptrace.c index 0021ade4cba8..20743754f2b2 100644 --- a/arch/m32r/kernel/ptrace.c +++ b/arch/m32r/kernel/ptrace.c | |||
@@ -622,9 +622,11 @@ void ptrace_disable(struct task_struct *child) | |||
622 | } | 622 | } |
623 | 623 | ||
624 | long | 624 | long |
625 | arch_ptrace(struct task_struct *child, long request, long addr, long data) | 625 | arch_ptrace(struct task_struct *child, long request, |
626 | unsigned long addr, unsigned long data) | ||
626 | { | 627 | { |
627 | int ret; | 628 | int ret; |
629 | unsigned long __user *datap = (unsigned long __user *) data; | ||
628 | 630 | ||
629 | switch (request) { | 631 | switch (request) { |
630 | /* | 632 | /* |
@@ -639,8 +641,7 @@ arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
639 | * read the word at location addr in the USER area. | 641 | * read the word at location addr in the USER area. |
640 | */ | 642 | */ |
641 | case PTRACE_PEEKUSR: | 643 | case PTRACE_PEEKUSR: |
642 | ret = ptrace_read_user(child, addr, | 644 | ret = ptrace_read_user(child, addr, datap); |
643 | (unsigned long __user *)data); | ||
644 | break; | 645 | break; |
645 | 646 | ||
646 | /* | 647 | /* |
@@ -661,11 +662,11 @@ arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
661 | break; | 662 | break; |
662 | 663 | ||
663 | case PTRACE_GETREGS: | 664 | case PTRACE_GETREGS: |
664 | ret = ptrace_getregs(child, (void __user *)data); | 665 | ret = ptrace_getregs(child, datap); |
665 | break; | 666 | break; |
666 | 667 | ||
667 | case PTRACE_SETREGS: | 668 | case PTRACE_SETREGS: |
668 | ret = ptrace_setregs(child, (void __user *)data); | 669 | ret = ptrace_setregs(child, datap); |
669 | break; | 670 | break; |
670 | 671 | ||
671 | default: | 672 | default: |