[S390] use generic sys_ptrace
After the PT_IEEE_IP hack has been removed s390 can now use the common code sys_ptrace function. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
613e1def6b
commit
941af343e2
@ -607,18 +607,8 @@ do_ptrace_emu31(struct task_struct *child, long request, long addr, long data)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int
|
long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
||||||
do_ptrace(struct task_struct *child, long request, long addr, long data)
|
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (request == PTRACE_ATTACH)
|
|
||||||
return ptrace_attach(child);
|
|
||||||
|
|
||||||
ret = ptrace_check_attach(child, request == PTRACE_KILL);
|
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
switch (request) {
|
switch (request) {
|
||||||
case PTRACE_SYSCALL:
|
case PTRACE_SYSCALL:
|
||||||
/* continue and stop at next (return from) syscall */
|
/* continue and stop at next (return from) syscall */
|
||||||
@ -673,31 +663,6 @@ do_ptrace(struct task_struct *child, long request, long addr, long data)
|
|||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage long
|
|
||||||
sys_ptrace(long request, long pid, long addr, long data)
|
|
||||||
{
|
|
||||||
struct task_struct *child;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
lock_kernel();
|
|
||||||
if (request == PTRACE_TRACEME) {
|
|
||||||
ret = ptrace_traceme();
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
child = ptrace_get_task_struct(pid);
|
|
||||||
if (IS_ERR(child)) {
|
|
||||||
ret = PTR_ERR(child);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = do_ptrace(child, request, addr, data);
|
|
||||||
put_task_struct(child);
|
|
||||||
out:
|
|
||||||
unlock_kernel();
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
asmlinkage void
|
asmlinkage void
|
||||||
syscall_trace(struct pt_regs *regs, int entryexit)
|
syscall_trace(struct pt_regs *regs, int entryexit)
|
||||||
{
|
{
|
||||||
|
@ -463,8 +463,6 @@ struct user_regs_struct
|
|||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
#define __ARCH_SYS_PTRACE 1
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are defined as per linux/ptrace.h, which see.
|
* These are defined as per linux/ptrace.h, which see.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user