diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-04-05 19:41:22 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-04-05 19:41:22 -0400 |
| commit | 9efe21cb82b5dbe3b0b2ae4de4eccc64ecb94e95 (patch) | |
| tree | 7ff8833745d2f268f897f6fa4a27263b4a572245 /kernel/pid_namespace.c | |
| parent | de18836e447c2dc30120c0919b8db8ddc0401cc4 (diff) | |
| parent | 0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c (diff) | |
Merge branch 'linus' into irq/threaded
Conflicts:
include/linux/irq.h
kernel/irq/handle.c
Diffstat (limited to 'kernel/pid_namespace.c')
| -rw-r--r-- | kernel/pid_namespace.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c index fab8ea86fac..2d1001b4858 100644 --- a/kernel/pid_namespace.c +++ b/kernel/pid_namespace.c | |||
| @@ -152,6 +152,7 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns) | |||
| 152 | { | 152 | { |
| 153 | int nr; | 153 | int nr; |
| 154 | int rc; | 154 | int rc; |
| 155 | struct task_struct *task; | ||
| 155 | 156 | ||
| 156 | /* | 157 | /* |
| 157 | * The last thread in the cgroup-init thread group is terminating. | 158 | * The last thread in the cgroup-init thread group is terminating. |
| @@ -169,7 +170,19 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns) | |||
| 169 | read_lock(&tasklist_lock); | 170 | read_lock(&tasklist_lock); |
| 170 | nr = next_pidmap(pid_ns, 1); | 171 | nr = next_pidmap(pid_ns, 1); |
| 171 | while (nr > 0) { | 172 | while (nr > 0) { |
| 172 | kill_proc_info(SIGKILL, SEND_SIG_PRIV, nr); | 173 | rcu_read_lock(); |
| 174 | |||
| 175 | /* | ||
| 176 | * Use force_sig() since it clears SIGNAL_UNKILLABLE ensuring | ||
| 177 | * any nested-container's init processes don't ignore the | ||
| 178 | * signal | ||
| 179 | */ | ||
| 180 | task = pid_task(find_vpid(nr), PIDTYPE_PID); | ||
| 181 | if (task) | ||
| 182 | force_sig(SIGKILL, task); | ||
| 183 | |||
| 184 | rcu_read_unlock(); | ||
| 185 | |||
| 173 | nr = next_pidmap(pid_ns, nr); | 186 | nr = next_pidmap(pid_ns, nr); |
| 174 | } | 187 | } |
| 175 | read_unlock(&tasklist_lock); | 188 | read_unlock(&tasklist_lock); |
