Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 30266
b: refs/heads/master
c: 7b1c615
h: refs/heads/master
v: v3
  • Loading branch information
Oleg Nesterov authored and Linus Torvalds committed Jun 26, 2006
1 parent 6e88618 commit 60667af
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d5f70c00ad24cd1158d3678b44ff969b4c971d49
refs/heads/master: 7b1c6154fa8bb937e0b1b4f2adbb315d70270f10
12 changes: 8 additions & 4 deletions trunk/fs/exec.c
Original file line number Diff line number Diff line change
Expand Up @@ -1373,7 +1373,11 @@ static void zap_process(struct task_struct *start)
struct task_struct *t;
unsigned long flags;

spin_lock_irqsave(&start->sighand->siglock, flags);
/*
* start->sighand can't disappear, but may be
* changed by de_thread()
*/
lock_task_sighand(start, &flags);
start->signal->flags = SIGNAL_GROUP_EXIT;
start->signal->group_stop_count = 0;

Expand All @@ -1386,7 +1390,7 @@ static void zap_process(struct task_struct *start)
}
} while ((t = next_thread(t)) != start);

spin_unlock_irqrestore(&start->sighand->siglock, flags);
unlock_task_sighand(start, &flags);
}

static void zap_threads(struct mm_struct *mm)
Expand All @@ -1404,7 +1408,7 @@ static void zap_threads(struct mm_struct *mm)
complete(vfork_done);
}

read_lock(&tasklist_lock);
rcu_read_lock();
for_each_process(g) {
p = g;
do {
Expand All @@ -1415,7 +1419,7 @@ static void zap_threads(struct mm_struct *mm)
}
} while ((p = next_thread(p)) != g);
}
read_unlock(&tasklist_lock);
rcu_read_unlock();
}

static void coredump_wait(struct mm_struct *mm)
Expand Down

0 comments on commit 60667af

Please sign in to comment.