linux/include
Pavel Emelyanov 6f4e643353 pid namespaces: initialize the namespace's proc_mnt
The namespace's proc_mnt must be kern_mount-ed to make this pointer always
valid, independently of whether the user space mounted the proc or not.  This
solves raced in proc_flush_task, etc.  with the proc_mnt switching from NULL
to not-NULL.

The initialization is done after the init's pid is created and hashed to make
proc_get_sb() finr it and get for root inode.

Sice the namespace holds the vfsmnt, vfsmnt holds the superblock and the
superblock holds the namespace we must explicitly break this circle to destroy
all the stuff.  This is done after the init of the namespace dies.  Running a
few steps forward - when init exits it will kill all its children, so no
proc_mnt will be needed after its death.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Cc: Paul Menage <menage@google.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-19 11:53:40 -07:00
..
acpi
asm-alpha remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-arm remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-arm26
asm-avr32 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-blackfin remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-cris remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-frv remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-generic bitops: introduce lock ops 2007-10-18 14:37:29 -07:00
asm-h8300 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-ia64 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-m32r remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-m68k remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-m68knommu remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-mips remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-parisc remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-powerpc remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-ppc Replace __attribute_pure__ with __pure 2007-10-18 14:37:32 -07:00
asm-s390 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-sh remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-sh64 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-sparc remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-sparc64 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-um remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-v850 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-x86 remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
asm-xtensa remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
crypto
keys KEYS: Make request_key() and co fundamentally asynchronous 2007-10-17 08:42:57 -07:00
linux pid namespaces: initialize the namespace's proc_mnt 2007-10-19 11:53:40 -07:00
math-emu
media
mtd
net [IPSEC]: Rename mode to outer_mode and add inner_mode 2007-10-17 21:35:51 -07:00
pcmcia
rdma
rxrpc
scsi do not export /usr/include/scsi in make headers_install 2007-10-17 08:42:52 -07:00
sound
video
xen
Kbuild do not export /usr/include/scsi in make headers_install 2007-10-17 08:42:52 -07:00