diff options
Diffstat (limited to 'arch/m32r/kernel')
-rw-r--r-- | arch/m32r/kernel/process.c | 4 | ||||
-rw-r--r-- | arch/m32r/kernel/ptrace.c | 22 |
2 files changed, 9 insertions, 17 deletions
diff --git a/arch/m32r/kernel/process.c b/arch/m32r/kernel/process.c index cc4b571e5db7..3bf55d92933f 100644 --- a/arch/m32r/kernel/process.c +++ b/arch/m32r/kernel/process.c | |||
@@ -50,6 +50,10 @@ unsigned long thread_saved_pc(struct task_struct *tsk) | |||
50 | * Powermanagement idle function, if any.. | 50 | * Powermanagement idle function, if any.. |
51 | */ | 51 | */ |
52 | void (*pm_idle)(void) = NULL; | 52 | void (*pm_idle)(void) = NULL; |
53 | EXPORT_SYMBOL(pm_idle); | ||
54 | |||
55 | void (*pm_power_off)(void) = NULL; | ||
56 | EXPORT_SYMBOL(pm_power_off); | ||
53 | 57 | ||
54 | void disable_hlt(void) | 58 | void disable_hlt(void) |
55 | { | 59 | { |
diff --git a/arch/m32r/kernel/ptrace.c b/arch/m32r/kernel/ptrace.c index 078d2a0e71c2..9b75caaf5cec 100644 --- a/arch/m32r/kernel/ptrace.c +++ b/arch/m32r/kernel/ptrace.c | |||
@@ -762,28 +762,16 @@ asmlinkage long sys_ptrace(long request, long pid, long addr, long data) | |||
762 | int ret; | 762 | int ret; |
763 | 763 | ||
764 | lock_kernel(); | 764 | lock_kernel(); |
765 | ret = -EPERM; | ||
766 | if (request == PTRACE_TRACEME) { | 765 | if (request == PTRACE_TRACEME) { |
767 | /* are we already being traced? */ | 766 | ret = ptrace_traceme(); |
768 | if (current->ptrace & PT_PTRACED) | ||
769 | goto out; | ||
770 | /* set the ptrace bit in the process flags. */ | ||
771 | current->ptrace |= PT_PTRACED; | ||
772 | ret = 0; | ||
773 | goto out; | 767 | goto out; |
774 | } | 768 | } |
775 | ret = -ESRCH; | ||
776 | read_lock(&tasklist_lock); | ||
777 | child = find_task_by_pid(pid); | ||
778 | if (child) | ||
779 | get_task_struct(child); | ||
780 | read_unlock(&tasklist_lock); | ||
781 | if (!child) | ||
782 | goto out; | ||
783 | 769 | ||
784 | ret = -EPERM; | 770 | child = ptrace_get_task_struct(pid); |
785 | if (pid == 1) /* you may not mess with init */ | 771 | if (IS_ERR(child)) { |
772 | ret = PTR_ERR(child); | ||
786 | goto out; | 773 | goto out; |
774 | } | ||
787 | 775 | ||
788 | if (request == PTRACE_ATTACH) { | 776 | if (request == PTRACE_ATTACH) { |
789 | ret = ptrace_attach(child); | 777 | ret = ptrace_attach(child); |