aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze/kernel/ptrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/microblaze/kernel/ptrace.c')
-rw-r--r--arch/microblaze/kernel/ptrace.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/microblaze/kernel/ptrace.c b/arch/microblaze/kernel/ptrace.c
index dc03ffc8174a..6a8e0cc5c57d 100644
--- a/arch/microblaze/kernel/ptrace.c
+++ b/arch/microblaze/kernel/ptrace.c
@@ -39,6 +39,7 @@
39#include <linux/uaccess.h> 39#include <linux/uaccess.h>
40#include <asm/asm-offsets.h> 40#include <asm/asm-offsets.h>
41#include <asm/cacheflush.h> 41#include <asm/cacheflush.h>
42#include <asm/syscall.h>
42#include <asm/io.h> 43#include <asm/io.h>
43 44
44/* Returns the address where the register at REG_OFFS in P is stashed away. */ 45/* Returns the address where the register at REG_OFFS in P is stashed away. */
@@ -73,7 +74,8 @@ static microblaze_reg_t *reg_save_addr(unsigned reg_offs,
73 return (microblaze_reg_t *)((char *)regs + reg_offs); 74 return (microblaze_reg_t *)((char *)regs + reg_offs);
74} 75}
75 76
76long arch_ptrace(struct task_struct *child, long request, long addr, long data) 77long arch_ptrace(struct task_struct *child, long request,
78 unsigned long addr, unsigned long data)
77{ 79{
78 int rval; 80 int rval;
79 unsigned long val = 0; 81 unsigned long val = 0;
@@ -99,7 +101,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
99 } else { 101 } else {
100 rval = -EIO; 102 rval = -EIO;
101 } 103 }
102 } else if (addr >= 0 && addr < PT_SIZE && (addr & 0x3) == 0) { 104 } else if (addr < PT_SIZE && (addr & 0x3) == 0) {
103 microblaze_reg_t *reg_addr = reg_save_addr(addr, child); 105 microblaze_reg_t *reg_addr = reg_save_addr(addr, child);
104 if (request == PTRACE_PEEKUSR) 106 if (request == PTRACE_PEEKUSR)
105 val = *reg_addr; 107 val = *reg_addr;
@@ -122,7 +124,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
122 rval = -EIO; 124 rval = -EIO;
123 125
124 if (rval == 0 && request == PTRACE_PEEKUSR) 126 if (rval == 0 && request == PTRACE_PEEKUSR)
125 rval = put_user(val, (unsigned long *)data); 127 rval = put_user(val, (unsigned long __user *)data);
126 break; 128 break;
127 default: 129 default:
128 rval = ptrace_request(child, request, addr, data); 130 rval = ptrace_request(child, request, addr, data);