Oleg Nesterov
50d75f8dae
pidns: find_new_reaper() can no longer switch to init_pid_ns.child_reaper
...
find_new_reaper() changes pid_ns->child_reaper, see add0d4df ("pid_ns:
zap_pid_ns_processes: fix the ->child_reaper changing").
The original reason has gone away after the previous patch, ->children
list must be empty after zap_pid_ns_processes().
However now we can not switch to init_pid_ns.child_reaper.
__unhash_process() relies on the "->child_reaper == parent" check, but
this check does not work if the last exiting task is also the child
reaper.
As Eric sugested, we can change __unhash_process() to use the parent's
pid_ns and remove this code.
Also, with this change we can move detach_pid(PIDTYPE_PID) back, where it
was before the previous fix.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Louis Rilling <louis.rilling@kerlabs.com>
Cc: Mike Galbraith <efault@gmx.de>
Acked-by: Pavel Emelyanov <xemul@parallels.com>
Tested-by: Andrew Wagin <avagin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-06-20 14:39:36 -07:00
..
2012-04-04 17:26:08 -07:00
2012-05-31 14:01:00 -03:00
2011-07-26 16:49:45 -07:00
2012-06-04 11:36:51 -07:00
2012-05-18 20:44:59 +02:00
2012-06-08 14:59:29 -07:00
2012-06-15 16:52:35 -07:00
2012-06-06 22:15:14 -04:00
2012-01-08 12:19:57 -08:00
2012-01-13 09:32:18 +10:30
2011-07-20 14:10:11 -07:00
2011-03-14 09:15:23 -04:00
2012-03-20 21:29:40 -04:00
2012-01-17 16:16:57 -05:00
2012-01-17 16:17:01 -05:00
2012-04-14 11:13:20 +10:00
2011-03-23 19:46:28 -07:00
2012-05-15 14:59:24 -07:00
2012-04-01 12:09:55 -07:00
2012-06-05 11:54:12 -07:00
2012-05-21 23:52:30 -04:00
2011-07-25 20:57:15 -07:00
2012-05-31 17:49:27 -07:00
2012-05-31 17:49:30 -07:00
2012-05-22 17:40:19 -07:00
2011-11-06 19:44:47 -08:00
2012-05-23 22:11:41 -04:00
2011-07-14 12:59:14 +03:00
2012-03-28 18:30:03 +01:00
2012-06-20 14:39:36 -07:00
2012-04-19 15:06:55 -07:00
2012-06-07 17:54:07 -07:00
2012-03-04 23:08:54 +01:00
2012-03-29 11:37:17 +02:00
2012-03-29 11:37:17 +02:00
2012-05-03 03:29:33 -07:00
2011-11-28 08:43:52 -08:00
2012-04-25 12:39:25 +02:00
2012-04-13 13:15:16 -04:00
2012-04-10 11:00:30 +02:00
2012-02-28 20:01:08 +01:00
2012-05-29 16:22:32 -07:00
2012-05-31 17:49:32 -07:00
2012-03-23 13:18:57 +01:00
2012-03-23 13:18:57 +01:00
2012-03-28 17:19:28 -07:00
2012-04-11 18:24:37 -03:00
2012-05-31 17:49:28 -07:00
2012-03-05 15:49:42 -08:00
2011-10-31 09:20:13 -04:00
2011-11-23 09:28:17 -08:00
2011-10-31 09:20:12 -04:00
2012-05-29 23:28:41 -04:00
2011-10-31 09:20:12 -04:00
2012-02-21 09:06:06 -08:00
2012-06-01 10:34:35 -07:00
2012-05-23 22:28:53 +09:30
2011-10-31 09:20:12 -04:00
2011-04-14 08:52:33 +02:00
2012-03-01 10:28:03 +01:00
2011-04-14 08:52:33 +02:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2012-03-29 19:52:46 +08:00
2012-05-18 14:02:10 +02:00
2012-05-04 17:28:18 -07:00
2012-06-20 14:39:36 -07:00
2012-05-24 00:28:21 -04:00
2011-12-15 14:56:19 +01:00
2011-10-31 09:20:12 -04:00
2012-05-14 12:36:45 -07:00
2011-10-31 09:20:12 -04:00
2012-05-03 03:28:51 -07:00
2011-10-31 09:20:11 -04:00
2012-02-21 09:06:12 -08:00
2012-05-02 14:48:27 -07:00
2012-05-02 14:48:27 -07:00
2012-02-21 09:06:13 -08:00
2012-04-30 10:48:26 -07:00
2012-06-06 20:43:28 -07:00
2012-05-09 14:27:54 -07:00
2012-06-06 20:43:27 -07:00
2012-06-06 20:43:28 -07:00
2012-02-10 09:04:49 +01:00
2012-05-29 16:22:27 -07:00
2012-05-31 17:49:26 -07:00
2011-01-27 21:13:51 -05:00
2011-12-06 08:16:49 +01:00
2011-12-14 14:54:22 -08:00
2011-12-11 10:33:18 -08:00
2012-03-28 18:30:03 +01:00
2012-04-18 12:24:52 +10:00
2012-04-05 17:15:55 -07:00
2012-06-01 12:58:52 -04:00
2012-05-08 12:35:06 +02:00
2012-05-24 22:58:08 +02:00
2012-05-04 12:52:25 +02:00
2012-03-20 10:32:09 -07:00
2012-03-23 13:18:57 +01:00
2012-04-30 10:48:25 -07:00
2011-10-31 09:20:12 -04:00
2011-11-06 19:44:47 -08:00
2012-05-31 17:49:32 -07:00
2012-06-07 14:43:55 -07:00
2011-12-20 10:25:04 -08:00
2012-04-05 14:51:43 +10:00
2012-05-23 22:09:21 -04:00
2011-09-19 17:04:37 -07:00
2012-03-15 18:17:55 -07:00
2012-05-23 17:42:39 -07:00
2012-02-24 10:05:59 +01:00
2011-12-15 14:56:19 +01:00
2012-05-03 03:28:41 -07:00
2011-10-31 09:20:12 -04:00
2012-05-03 03:28:38 -07:00
2011-10-31 09:20:12 -04:00
2012-05-19 15:44:40 -06:00
2011-11-06 19:44:47 -08:00
2012-04-07 16:55:51 -07:00
2011-12-21 10:07:39 +01:00
2012-06-14 12:20:50 +02:00
2012-05-15 08:08:31 -07:00