linux/arch/sh/mm
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
..
cache-debugfs.c sh: Revert incorrect license string changes. 2007-09-24 17:49:51 +09:00
cache-sh2.c sh: Add support for SH7206 and SH7619 CPU subtypes. 2006-12-06 10:45:36 +09:00
cache-sh3.c sh: Fixup cpu_data references for the non-boot CPUs. 2007-02-13 10:54:45 +09:00
cache-sh4.c sh: Calculate cache aliases on L2 caches. 2007-09-24 17:00:45 +09:00
cache-sh7705.c sh: Revert lazy dcache writeback changes. 2007-03-05 19:46:47 +09:00
clear_page.S sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
consistent.c Remove dma_cache_(wback|inv|wback_inv) functions 2007-10-17 08:42:57 -07:00
copy_page.S sh: __copy_user() optimizations for small copies. 2007-09-28 12:36:35 +09:00
extable.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fault.c pid namespaces: define is_global_init() and is_container_init() 2007-10-19 11:53:37 -07:00
hugetlbpage.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
init.c fix memory hot remove not configured case. 2007-10-16 09:43:02 -07:00
ioremap.c sh: ioremap() through PMB needs asm/mmu.h. 2007-06-04 10:58:23 +09:00
Kconfig sh: Support extended mode TLB on SH-X3. 2007-09-27 18:08:46 +09:00
Makefile sh: nommu: Kill off dummy page fault ops for SH-3/4. 2007-09-24 16:40:56 +09:00
numa.c sh: Support for multiple nodes. 2007-06-08 02:43:49 +00:00
pg-nommu.c sh: Various nommu fixes. 2006-09-27 17:21:02 +09:00
pg-sh4.c sh: Fix fs.h removal from mm.h regressions. 2007-07-31 13:01:43 +09:00
pg-sh7705.c sh: Revert lazy dcache writeback changes. 2007-03-05 19:46:47 +09:00
pmb.c Slab API: remove useless ctor parameter and reorder parameters 2007-10-17 08:42:45 -07:00
tlb-flush.c sh: Revert lazy dcache writeback changes. 2007-03-05 19:46:47 +09:00
tlb-nommu.c sh: Local TLB flushing variants for SMP prep. 2007-02-13 10:54:45 +09:00
tlb-sh3.c sh: Revert lazy dcache writeback changes. 2007-03-05 19:46:47 +09:00
tlb-sh4.c sh: Fix up extended mode TLB for SH-X2+ cores. 2007-09-21 11:57:55 +09:00