Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eac738e6 authored by Petr Tesarik's avatar Petr Tesarik Committed by Tony Luck
Browse files

[IA64] convert sys_ptrace to arch_ptrace



Convert sys_ptrace() to arch_ptrace().

Signed-off-by: default avatarPetr Tesarik <ptesarik@suse.cz>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent e868a55c
Loading
Loading
Loading
Loading
+3 −39
Original line number Diff line number Diff line
@@ -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);

@@ -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);
@@ -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;
}

+0 −2
Original line number Diff line number Diff line
@@ -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