projects
/
linux-drm-fsl-dcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Pull thermal into release branch
[linux-drm-fsl-dcu.git]
/
arch
/
arm
/
kernel
/
ptrace.c
diff --git
a/arch/arm/kernel/ptrace.c
b/arch/arm/kernel/ptrace.c
index 9254ba2f46fc147b756407d6d21fdff16a117f84..6f2f46c2e406ee844632da068353b0167735886e 100644
(file)
--- a/
arch/arm/kernel/ptrace.c
+++ b/
arch/arm/kernel/ptrace.c
@@
-13,7
+13,6
@@
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/smp.h>
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/smp.h>
-#include <linux/smp_lock.h>
#include <linux/ptrace.h>
#include <linux/user.h>
#include <linux/security.h>
#include <linux/ptrace.h>
#include <linux/user.h>
#include <linux/security.h>
@@
-457,13
+456,10
@@
void ptrace_cancel_bpt(struct task_struct *child)
/*
* Called by kernel/ptrace.c when detaching..
/*
* Called by kernel/ptrace.c when detaching..
- *
- * Make sure the single step bit is not set.
*/
void ptrace_disable(struct task_struct *child)
{
*/
void ptrace_disable(struct task_struct *child)
{
- child->ptrace &= ~PT_SINGLESTEP;
- ptrace_cancel_bpt(child);
+ single_step_disable(child);
}
/*
}
/*
@@
-712,9
+708,7
@@
long arch_ptrace(struct task_struct *child, long request, long addr, long data)
else
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
child->exit_code = data;
else
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
child->exit_code = data;
- /* make sure single-step breakpoint is gone. */
- child->ptrace &= ~PT_SINGLESTEP;
- ptrace_cancel_bpt(child);
+ single_step_disable(child);
wake_up_process(child);
ret = 0;
break;
wake_up_process(child);
ret = 0;
break;
@@
-725,9
+719,7
@@
long arch_ptrace(struct task_struct *child, long request, long addr, long data)
* exit.
*/
case PTRACE_KILL:
* exit.
*/
case PTRACE_KILL:
- /* make sure single-step breakpoint is gone. */
- child->ptrace &= ~PT_SINGLESTEP;
- ptrace_cancel_bpt(child);
+ single_step_disable(child);
if (child->exit_state != EXIT_ZOMBIE) {
child->exit_code = SIGKILL;
wake_up_process(child);
if (child->exit_state != EXIT_ZOMBIE) {
child->exit_code = SIGKILL;
wake_up_process(child);
@@
-742,7
+734,7
@@
long arch_ptrace(struct task_struct *child, long request, long addr, long data)
ret = -EIO;
if (!valid_signal(data))
break;
ret = -EIO;
if (!valid_signal(data))
break;
-
child->ptrace |= PT_SINGLESTEP
;
+
single_step_enable(child)
;
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
child->exit_code = data;
/* give it a chance to run. */
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
child->exit_code = data;
/* give it a chance to run. */
@@
-786,8
+778,8
@@
long arch_ptrace(struct task_struct *child, long request, long addr, long data)
break;
case PTRACE_SET_SYSCALL:
break;
case PTRACE_SET_SYSCALL:
+ task_thread_info(child)->syscall = data;
ret = 0;
ret = 0;
- child->ptrace_message = data;
break;
#ifdef CONFIG_CRUNCH
break;
#ifdef CONFIG_CRUNCH
@@
-824,7
+816,7
@@
asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno)
ip = regs->ARM_ip;
regs->ARM_ip = why;
ip = regs->ARM_ip;
regs->ARM_ip = why;
- current
->ptrace_message
= scno;
+ current
_thread_info()->syscall
= scno;
/* the 0x80 provides a way for the tracing parent to distinguish
between a syscall stop and SIGTRAP delivery */
/* the 0x80 provides a way for the tracing parent to distinguish
between a syscall stop and SIGTRAP delivery */
@@
-841,5
+833,5
@@
asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno)
}
regs->ARM_ip = ip;
}
regs->ARM_ip = ip;
- return current
->ptrace_message
;
+ return current
_thread_info()->syscall
;
}
}