diff options
Diffstat (limited to 'arch/blackfin/kernel/ptrace.c')
| -rw-r--r-- | arch/blackfin/kernel/ptrace.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c index b35839354130..75089f80855d 100644 --- a/arch/blackfin/kernel/ptrace.c +++ b/arch/blackfin/kernel/ptrace.c | |||
| @@ -38,12 +38,13 @@ | |||
| 38 | * Get contents of register REGNO in task TASK. | 38 | * Get contents of register REGNO in task TASK. |
| 39 | */ | 39 | */ |
| 40 | static inline long | 40 | static inline long |
| 41 | get_reg(struct task_struct *task, long regno, unsigned long __user *datap) | 41 | get_reg(struct task_struct *task, unsigned long regno, |
| 42 | unsigned long __user *datap) | ||
| 42 | { | 43 | { |
| 43 | long tmp; | 44 | long tmp; |
| 44 | struct pt_regs *regs = task_pt_regs(task); | 45 | struct pt_regs *regs = task_pt_regs(task); |
| 45 | 46 | ||
| 46 | if (regno & 3 || regno > PT_LAST_PSEUDO || regno < 0) | 47 | if (regno & 3 || regno > PT_LAST_PSEUDO) |
| 47 | return -EIO; | 48 | return -EIO; |
| 48 | 49 | ||
| 49 | switch (regno) { | 50 | switch (regno) { |
| @@ -74,11 +75,11 @@ get_reg(struct task_struct *task, long regno, unsigned long __user *datap) | |||
| 74 | * Write contents of register REGNO in task TASK. | 75 | * Write contents of register REGNO in task TASK. |
| 75 | */ | 76 | */ |
| 76 | static inline int | 77 | static inline int |
| 77 | put_reg(struct task_struct *task, long regno, unsigned long data) | 78 | put_reg(struct task_struct *task, unsigned long regno, unsigned long data) |
| 78 | { | 79 | { |
| 79 | struct pt_regs *regs = task_pt_regs(task); | 80 | struct pt_regs *regs = task_pt_regs(task); |
| 80 | 81 | ||
| 81 | if (regno & 3 || regno > PT_LAST_PSEUDO || regno < 0) | 82 | if (regno & 3 || regno > PT_LAST_PSEUDO) |
| 82 | return -EIO; | 83 | return -EIO; |
| 83 | 84 | ||
| 84 | switch (regno) { | 85 | switch (regno) { |
| @@ -240,7 +241,8 @@ void user_disable_single_step(struct task_struct *child) | |||
| 240 | clear_tsk_thread_flag(child, TIF_SINGLESTEP); | 241 | clear_tsk_thread_flag(child, TIF_SINGLESTEP); |
| 241 | } | 242 | } |
| 242 | 243 | ||
| 243 | long arch_ptrace(struct task_struct *child, long request, long addr, long data) | 244 | long arch_ptrace(struct task_struct *child, long request, |
| 245 | unsigned long addr, unsigned long data) | ||
| 244 | { | 246 | { |
| 245 | int ret; | 247 | int ret; |
| 246 | unsigned long __user *datap = (unsigned long __user *)data; | 248 | unsigned long __user *datap = (unsigned long __user *)data; |
| @@ -368,14 +370,14 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
| 368 | return copy_regset_to_user(child, &user_bfin_native_view, | 370 | return copy_regset_to_user(child, &user_bfin_native_view, |
| 369 | REGSET_GENERAL, | 371 | REGSET_GENERAL, |
| 370 | 0, sizeof(struct pt_regs), | 372 | 0, sizeof(struct pt_regs), |
| 371 | (void __user *)data); | 373 | datap); |
| 372 | 374 | ||
| 373 | case PTRACE_SETREGS: | 375 | case PTRACE_SETREGS: |
| 374 | pr_debug("ptrace: PTRACE_SETREGS\n"); | 376 | pr_debug("ptrace: PTRACE_SETREGS\n"); |
| 375 | return copy_regset_from_user(child, &user_bfin_native_view, | 377 | return copy_regset_from_user(child, &user_bfin_native_view, |
| 376 | REGSET_GENERAL, | 378 | REGSET_GENERAL, |
| 377 | 0, sizeof(struct pt_regs), | 379 | 0, sizeof(struct pt_regs), |
| 378 | (const void __user *)data); | 380 | datap); |
| 379 | 381 | ||
| 380 | case_default: | 382 | case_default: |
| 381 | default: | 383 | default: |
