aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/ptrace.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-06-02 05:13:59 -0400
committerOleg Nesterov <oleg@redhat.com>2011-06-04 12:17:09 -0400
commit0b1007c3578569469a6fab6ae5cca918ccdc3ee1 (patch)
treef6a5254c6f8caeb843fc1a130f7642b9a55a2694 /kernel/ptrace.c
parent23c79d31a3dd2602ee1a5ff31303b2d7a2d3c159 (diff)
ptrace: remove silly wait_trap variable from ptrace_attach()
Remove local variable wait_trap which determines whether to wait for !TRAPPING or not and simply wait for it if attach was successful. -v2: Oleg pointed out wait should happen iff attach was successful. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Diffstat (limited to 'kernel/ptrace.c')
-rw-r--r--kernel/ptrace.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c
index 2df115790cd9..4f689cb739a3 100644
--- a/kernel/ptrace.c
+++ b/kernel/ptrace.c
@@ -184,7 +184,6 @@ bool ptrace_may_access(struct task_struct *task, unsigned int mode)
184 184
185static int ptrace_attach(struct task_struct *task) 185static int ptrace_attach(struct task_struct *task)
186{ 186{
187 bool wait_trap = false;
188 int retval; 187 int retval;
189 188
190 audit_ptrace(task); 189 audit_ptrace(task);
@@ -246,7 +245,6 @@ static int ptrace_attach(struct task_struct *task)
246 if (task_is_stopped(task)) { 245 if (task_is_stopped(task)) {
247 task->group_stop |= GROUP_STOP_PENDING | GROUP_STOP_TRAPPING; 246 task->group_stop |= GROUP_STOP_PENDING | GROUP_STOP_TRAPPING;
248 signal_wake_up(task, 1); 247 signal_wake_up(task, 1);
249 wait_trap = true;
250 } 248 }
251 249
252 spin_unlock(&task->sighand->siglock); 250 spin_unlock(&task->sighand->siglock);
@@ -257,7 +255,7 @@ unlock_tasklist:
257unlock_creds: 255unlock_creds:
258 mutex_unlock(&task->signal->cred_guard_mutex); 256 mutex_unlock(&task->signal->cred_guard_mutex);
259out: 257out:
260 if (wait_trap) 258 if (!retval)
261 wait_event(current->signal->wait_chldexit, 259 wait_event(current->signal->wait_chldexit,
262 !(task->group_stop & GROUP_STOP_TRAPPING)); 260 !(task->group_stop & GROUP_STOP_TRAPPING));
263 return retval; 261 return retval;