linux/arch/ppc
Serge E. Hallyn b460cbc581 pid namespaces: define is_global_init() and is_container_init()
is_init() is an ambiguous name for the pid==1 check.  Split it into
is_global_init() and is_container_init().

A cgroup init has it's tsk->pid == 1.

A global init also has it's tsk->pid == 1 and it's active pid namespace
is the init_pid_ns.  But rather than check the active pid namespace,
compare the task structure with 'init_pid_ns.child_reaper', which is
initialized during boot to the /sbin/init process and never changes.

Changelog:

	2.6.22-rc4-mm2-pidns1:
	- Use 'init_pid_ns.child_reaper' to determine if a given task is the
	  global init (/sbin/init) process. This would improve performance
	  and remove dependence on the task_pid().

	2.6.21-mm2-pidns2:

	- [Sukadev Bhattiprolu] Changed is_container_init() calls in {powerpc,
	  ppc,avr32}/traps.c for the _exception() call to is_global_init().
	  This way, we kill only the cgroup if the cgroup's init has a
	  bug rather than force a kernel panic.

[akpm@linux-foundation.org: fix comment]
[sukadev@us.ibm.com: Use is_global_init() in arch/m32r/mm/fault.c]
[bunk@stusta.de: kernel/pid.c: remove unused exports]
[sukadev@us.ibm.com: Fix capability.c to work with threaded init]
Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Signed-off-by: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Acked-by: Pavel Emelianov <xemul@openvz.org>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Cedric Le Goater <clg@fr.ibm.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Cc: Herbert Poetzel <herbert@13thfloor.at>
Cc: Kirill Korotaev <dev@sw.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-19 11:53:37 -07:00
..
4xx_io [POWERPC] Spelling fixes: arch/ppc/ 2007-05-12 11:32:49 +10:00
8xx_io [PPC] Fix cpm_dpram_addr returning phys mem instead of virt mem 2007-09-28 10:25:32 -05:00
8260_io [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
boot kbuild: fix up CFLAGS usage 2007-10-14 21:49:42 +02:00
configs [POWERPC] Remove APUS support from arch/ppc 2007-09-17 15:15:04 +10:00
kernel pid namespaces: define is_global_init() and is_container_init() 2007-10-19 11:53:37 -07:00
lib [POWERPC] User rheap from arch/powerpc/lib 2007-05-09 23:28:17 -05:00
mm pid namespaces: define is_global_init() and is_container_init() 2007-10-19 11:53:37 -07:00
platforms [POWERPC] Remove redundant reference to non-existent CONFIG_BOOTIMG 2007-10-09 21:02:00 +10:00
syslib [POWERPC] Uartlite: Revert register io access changes 2007-10-03 07:37:41 -05:00
xmon [POWERPC] PPC: Use ARRAY_SIZE macro when appropriate 2007-02-08 16:08:25 +11:00
.gitignore [POWERPC] Only ignore arch/ppc/include, not arch/ppc/boot/include 2007-08-17 11:01:51 +10:00
Kconfig [POWERPC] rheap: Changes config mechanism 2007-10-16 17:09:21 -06:00
Kconfig.debug ppc: Remove CHRP, POWER3 and POWER4 support from arch/ppc 2006-03-28 10:22:10 +11:00
Makefile kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP 2007-10-15 22:17:25 +02:00