linux/drivers
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
..
acorn/char unicode diacritics support 2007-10-17 08:42:52 -07:00
acpi Hibernation: Check if ACPI is enabled during restore in the right place 2007-10-18 14:37:20 -07:00
amba Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ata Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2007-10-18 15:08:35 -07:00
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00
auxdisplay
base sparse pointer use of zero as null 2007-10-18 14:37:31 -07:00
block Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
bluetooth
cdrom sysctl: remove broken cdrom binary sysctls 2007-10-18 14:37:23 -07:00
char pid namespaces: define is_global_init() and is_container_init() 2007-10-19 11:53:37 -07:00
clocksource
connector [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
cpufreq Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
crypto [CRYPTO] sha: Add header file for SHA definitions 2007-10-10 16:55:50 -07:00
dca I/OAT: Add DCA services 2007-10-16 09:43:09 -07:00
dio
dma I/OAT: Add completion callback for async_tx interface use 2007-10-18 14:37:32 -07:00
edac Drivers: clean up direct setting of the name of a kset 2007-10-12 14:51:02 -07:00
eisa signedness: module_param_array nump argument 2007-10-14 12:41:52 -07:00
fc4 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-10-15 08:19:33 -07:00
firewire firewire: fw-cdev: reorder wakeup vs. spinlock 2007-10-17 00:00:10 +02:00
firmware Driver core: rename ktype_edd and ktype_efivar 2007-10-12 14:51:12 -07:00
hid HID: fix HIDIOCGRDESC memory access in hidraw 2007-10-15 08:12:00 -07:00
hwmon Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
i2c Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
ide ide: set drive->autotune in ide_pci_setup_ports() 2007-10-19 00:30:12 +02:00
ieee1394 ieee1394: ieee1394_core.c: use DEFINE_SPINLOCK for spinlock definition 2007-10-16 23:59:59 +02:00
infiniband Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
input freezer: introduce freezer-friendly waiting macros 2007-10-18 14:37:19 -07:00
isdn isdn/sc: remove unused REQUEST_IRQ and unnecessary header file 2007-10-19 11:53:34 -07:00
kvm sched: guest CPU accounting: maintain guest state in KVM 2007-10-15 17:00:19 +02:00
leds Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00
lguest Merge branch 'xen-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2007-10-17 11:10:11 -07:00
macintosh fix adbhid mismerge 2007-10-16 19:04:49 -07:00
mca
md md: make sure read errors are auto-corrected during a 'check' resync in raid1 2007-10-17 08:43:03 -07:00
media Replace __attribute_pure__ with __pure 2007-10-18 14:37:32 -07:00
message I2O: Fix "defined but not used" build warnings 2007-10-17 08:42:56 -07:00
mfd
misc Driver for the Atmel on-chip SSC on AT32AP and AT91 2007-10-17 08:42:47 -07:00
mmc mmc: at91_mci: cleanup: use MCI_ERRORS 2007-10-17 21:35:10 +02:00
mtd Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
net Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-10-18 19:31:54 -07:00
nubus
of [SPARC/64]: Consolidate of_register_driver 2007-10-17 21:17:42 -07:00
oprofile
parisc
parport sysctl: parport remove binary paths 2007-10-18 14:37:23 -07:00
pci Get rid of unused variable warning in drivers/pci/hotplug/pci_hotplug_core.c 2007-10-15 09:07:58 -07:00
pcmcia pcmcia: CompactFlash driver for PA Semi Electra boards 2007-10-17 08:42:48 -07:00
pnp PNP: add debug message for adding new device 2007-10-17 08:43:04 -07:00
power Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
ps3 ps3av: remove unused fields in ps3av_monitor_quirks 2007-10-19 11:53:33 -07:00
rapidio
rtc Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
s390 unicode diacritics support 2007-10-17 08:42:52 -07:00
sbus [SPARC] Videopix Frame Grabber: Convert device_lock_sem to mutex 2007-10-17 19:40:31 -07:00
scsi advansys: depends on VIRT_TO_BUS 2007-10-19 11:53:33 -07:00
serial serial: turn serial console suspend a boot rather than compile time option 2007-10-18 14:37:19 -07:00
sh
sn
spi Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
ssb [PATCH] ssb: fix build failure 2007-10-16 21:04:11 -04:00
tc lk201: remove obsolete driver 2007-10-17 08:42:57 -07:00
telephony kconfig: syntax cleanup - drop support for "depends/requires/def_boolean" 2007-10-12 21:20:32 +02:00
uio
usb Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
video Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
w1 Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
watchdog mv watchdog tree under drivers 2007-10-18 10:39:03 +00:00
xen Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
zorro
Kconfig mv watchdog tree under drivers 2007-10-18 10:39:03 +00:00
Makefile mv watchdog tree under drivers 2007-10-18 10:39:03 +00:00