Loading arch/ia64/kernel/ptrace.c +3 −39 Original line number Diff line number Diff line Loading @@ -1470,46 +1470,13 @@ ptrace_disable (struct task_struct *child) child_psr->tb = 0; } asmlinkage long sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data) long arch_ptrace (struct task_struct *child, long request, long addr, long data) { struct pt_regs *pt; struct task_struct *child; struct switch_stack *sw; long ret; lock_kernel(); ret = -EPERM; if (request == PTRACE_TRACEME) { ret = ptrace_traceme(); goto out; } ret = -ESRCH; read_lock(&tasklist_lock); { child = find_task_by_pid(pid); if (child) get_task_struct(child); } read_unlock(&tasklist_lock); if (!child) goto out; ret = -EPERM; if (pid == 1) /* no messing around with init! */ goto out_tsk; if (request == PTRACE_ATTACH) { ret = ptrace_attach(child); if (!ret) arch_ptrace_attach(child); goto out_tsk; } ret = ptrace_check_attach(child, request == PTRACE_KILL); if (ret < 0) goto out_tsk; pt = task_pt_regs(child); sw = (struct switch_stack *) (child->thread.ksp + 16); Loading Loading @@ -1594,7 +1561,7 @@ sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data) */ if (child->exit_state == EXIT_ZOMBIE) /* already dead */ goto out_tsk; return 0; child->exit_code = SIGKILL; ptrace_disable(child); Loading Loading @@ -1643,9 +1610,6 @@ sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data) goto out_tsk; } out_tsk: put_task_struct(child); out: unlock_kernel(); return ret; } Loading include/asm-ia64/ptrace.h +0 −2 Original line number Diff line number Diff line Loading @@ -233,8 +233,6 @@ struct switch_stack { #include <asm/current.h> #include <asm/page.h> #define __ARCH_SYS_PTRACE 1 /* * We use the ia64_psr(regs)->ri to determine which of the three * instructions in bundle (16 bytes) took the sample. Generate Loading Loading
arch/ia64/kernel/ptrace.c +3 −39 Original line number Diff line number Diff line Loading @@ -1470,46 +1470,13 @@ ptrace_disable (struct task_struct *child) child_psr->tb = 0; } asmlinkage long sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data) long arch_ptrace (struct task_struct *child, long request, long addr, long data) { struct pt_regs *pt; struct task_struct *child; struct switch_stack *sw; long ret; lock_kernel(); ret = -EPERM; if (request == PTRACE_TRACEME) { ret = ptrace_traceme(); goto out; } ret = -ESRCH; read_lock(&tasklist_lock); { child = find_task_by_pid(pid); if (child) get_task_struct(child); } read_unlock(&tasklist_lock); if (!child) goto out; ret = -EPERM; if (pid == 1) /* no messing around with init! */ goto out_tsk; if (request == PTRACE_ATTACH) { ret = ptrace_attach(child); if (!ret) arch_ptrace_attach(child); goto out_tsk; } ret = ptrace_check_attach(child, request == PTRACE_KILL); if (ret < 0) goto out_tsk; pt = task_pt_regs(child); sw = (struct switch_stack *) (child->thread.ksp + 16); Loading Loading @@ -1594,7 +1561,7 @@ sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data) */ if (child->exit_state == EXIT_ZOMBIE) /* already dead */ goto out_tsk; return 0; child->exit_code = SIGKILL; ptrace_disable(child); Loading Loading @@ -1643,9 +1610,6 @@ sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data) goto out_tsk; } out_tsk: put_task_struct(child); out: unlock_kernel(); return ret; } Loading
include/asm-ia64/ptrace.h +0 −2 Original line number Diff line number Diff line Loading @@ -233,8 +233,6 @@ struct switch_stack { #include <asm/current.h> #include <asm/page.h> #define __ARCH_SYS_PTRACE 1 /* * We use the ia64_psr(regs)->ri to determine which of the three * instructions in bundle (16 bytes) took the sample. Generate Loading