Eric W. Biederman
c876ad7682
pidns: Stop pid allocation when init dies
...
Oleg pointed out that in a pid namespace the sequence.
- pid 1 becomes a zombie
- setns(thepidns), fork,...
- reaping pid 1.
- The injected processes exiting.
Can lead to processes attempting access their child reaper and
instead following a stale pointer.
That waitpid for init can return before all of the processes in
the pid namespace have exited is also unfortunate.
Avoid these problems by disabling the allocation of new pids in a pid
namespace when init dies, instead of when the last process in a pid
namespace is reaped.
Pointed-out-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2012-12-25 16:10:05 -08:00
..
debug
KGDB/KDB fixes and cleanups
2012-10-13 11:16:58 +09:00
events
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2012-12-17 15:44:47 -08:00
gcov
irq
irq: tsk->comm is an array
2012-12-18 15:02:11 -08:00
power
Merge branch 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2012-12-12 08:18:24 -08:00
sched
sched: numa: ksm: fix oops in task_numa_placment()
2012-12-20 07:06:56 -08:00
time
Merge tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
2012-12-13 15:31:08 -08:00
trace
Merge branch 'tip/perf/core-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
2012-12-18 12:28:39 -08:00
.gitignore
acct.c
vfs: make path_openat take a struct filename pointer
2012-10-12 20:15:09 -04:00
async.c
audit.c
fs: handle failed audit_log_start properly
2012-10-09 23:33:37 -04:00
audit.h
audit: optimize audit_compare_dname_path
2012-10-12 00:32:02 -04:00
audit_tree.c
fsnotify: pass group to fsnotify_destroy_mark()
2012-12-11 13:44:36 -05:00
audit_watch.c
Merge branch 'for-next' of git://git.infradead.org/users/eparis/notify
2012-12-20 20:11:52 -08:00
auditfilter.c
audit: optimize audit_compare_dname_path
2012-10-12 00:32:02 -04:00
auditsc.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
2012-12-12 12:22:13 -08:00
backtracetest.c
bounds.c
capability.c
cgroup.c
Merge branch 'akpm' (Andrew's patch-bomb)
2012-12-17 20:58:12 -08:00
cgroup_freezer.c
cgroup: rename ->create/post_create/pre_destroy/destroy() to ->css_alloc/online/offline/free()
2012-11-19 08:13:38 -08:00
compat.c
compat: generic compat_sys_sched_rr_get_interval() implementation
2012-12-17 17:15:18 -08:00
configs.c
context_tracking.c
context_tracking: New context tracking susbsystem
2012-11-30 11:40:07 -08:00
cpu.c
Merge branch 'x86-bsp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-12-11 19:56:33 -08:00
cpu_pm.c
cpuset.c
cpuset: use N_MEMORY instead N_HIGH_MEMORY
2012-12-12 17:38:32 -08:00
crash_dump.c
cred.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2012-12-18 10:55:28 -08:00
delayacct.c
dma.c
elfcore.c
exec_domain.c
exit.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2012-12-17 15:44:47 -08:00
extable.c
fork.c
pidns: Outlaw thread creation after unshare(CLONE_NEWPID)
2012-12-24 22:53:14 -08:00
freezer.c
freezer: change ptrace_stop/do_signal_stop to use freezable_schedule()
2012-10-26 14:27:49 -07:00
futex.c
futex: avoid wake_futex() for a PI futex_q
2012-11-26 17:41:24 -08:00
futex_compat.c
groups.c
hrtimer.c
hung_task.c
irq_work.c
itimer.c
jump_label.c
jump_label: Export jump_label_rate_limit()
2012-08-06 19:00:35 +03:00
kallsyms.c
kcmp.c
kcmp: include linux/ptrace.h
2012-12-20 17:40:19 -08:00
Kconfig.freezer
Kconfig.hz
Kconfig.locks
locking: Adjust spin lock inlining Kconfig options
2012-09-13 17:56:13 +02:00
Kconfig.preempt
kexec.c
kdump: remove unneeded include
2012-10-06 03:05:19 +09:00
kfifo.c
kmod.c
Bury the conditionals from kernel_thread/kernel_execve series
2012-12-19 18:07:38 -05:00
kprobes.c
kprobes/x86: Fix to support jprobes on ftrace-based kprobe
2012-09-13 22:52:11 -04:00
ksysfs.c
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-12-11 18:10:49 -08:00
kthread.c
kthread: use N_MEMORY instead N_HIGH_MEMORY
2012-12-12 17:38:33 -08:00
latencytop.c
lglock.c
lockdep.c
lockdep: Check if nested lock is actually held
2012-09-13 17:00:44 +02:00
lockdep_internals.h
lockdep_proc.c
lockdep: Use KSYM_NAME_LEN'ed buffer for __get_key_name()
2012-10-24 12:39:09 +02:00
lockdep_states.h
Makefile
Nothing all that exciting; a new module-from-fd syscall for those who want
2012-12-19 07:55:08 -08:00
modsign_certificate.S
MODSIGN: Avoid using .incbin in C source
2012-12-14 13:06:44 +10:30
modsign_pubkey.c
keys: use keyring_alloc() to create module signing keyring
2012-12-20 17:40:21 -08:00
module-internal.h
MODSIGN: Move the magic string to the end of a module and eliminate the search
2012-10-19 17:30:40 -07:00
module.c
Nothing all that exciting; a new module-from-fd syscall for those who want
2012-12-19 07:55:08 -08:00
module_signing.c
MODSIGN: Don't use enum-type bitfields in module signature info block
2012-12-05 11:27:24 +10:30
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
notifier.c
nsproxy.c
userns: Implement unshare of the user namespace
2012-11-20 04:18:14 -08:00
padata.c
padata: use __this_cpu_read per-cpu helper
2012-12-06 17:16:23 +08:00
panic.c
panic: fix a possible deadlock in panic()
2012-07-30 17:25:13 -07:00
params.c
pid.c
pidns: Stop pid allocation when init dies
2012-12-25 16:10:05 -08:00
pid_namespace.c
pidns: Stop pid allocation when init dies
2012-12-25 16:10:05 -08:00
posix-cpu-timers.c
A few /dev/random improvements for the v3.8 merge window.
2012-12-19 20:23:37 -08:00
posix-timers.c
printk.c
printk: boot_delay should only affect output
2012-12-17 17:15:13 -08:00
profile.c
propagate name change to comments in kernel source
2012-12-06 10:39:54 +01:00
ptrace.c
Merge branch 'akpm' (Andrew's patch-bomb)
2012-12-17 20:58:12 -08:00
range.c
rcu.h
rcu: Add a module parameter to force use of expedited RCU primitives
2012-10-23 14:54:08 -07:00
rcupdate.c
rcu: Add a module parameter to force use of expedited RCU primitives
2012-10-23 14:54:08 -07:00
rcutiny.c
rcu: Fix TINY_RCU rcu_is_cpu_rrupt_from_idle check
2012-11-13 14:08:34 -08:00
rcutiny_plugin.h
rcu: Add a module parameter to force use of expedited RCU primitives
2012-10-23 14:54:08 -07:00
rcutorture.c
Merge branches 'urgent.2012.10.27a', 'doc.2012.11.16a', 'fixes.2012.11.13a', 'srcu.2012.10.27a', 'stall.2012.11.13a', 'tracing.2012.11.08a' and 'idle.2012.10.24a' into HEAD
2012-11-16 09:59:58 -08:00
rcutree.c
context_tracking: New context tracking susbsystem
2012-11-30 11:40:07 -08:00
rcutree.h
rcu: Separate accounting of callbacks from callback-free CPUs
2012-11-16 10:05:57 -08:00
rcutree_plugin.h
rcu: Separate accounting of callbacks from callback-free CPUs
2012-11-16 10:05:57 -08:00
rcutree_trace.c
rcu: Separate accounting of callbacks from callback-free CPUs
2012-11-16 10:05:57 -08:00
relay.c
res_counter.c
res_counter: return amount of charges after res_counter_uncharge()
2012-12-18 15:02:12 -08:00
resource.c
kernel/resource.c: fix stack overflow in __reserve_region_with_split()
2012-10-06 03:05:31 +09:00
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
rtmutex.h
rtmutex_common.h
rwsem.c
seccomp.c
seccomp: Make syscall skipping and nr changes more consistent
2012-10-02 21:14:29 +10:00
semaphore.c
signal.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
2012-12-20 18:05:28 -08:00
smp.c
smpboot.c
hotplug: Fix UP bug in smpboot hotplug code
2012-08-13 17:01:07 +02:00
smpboot.h
smpboot: Provide infrastructure for percpu hotplug threads
2012-08-13 17:01:07 +02:00
softirq.c
cputime: Specialize irq vtime hooks
2012-10-29 21:31:32 +01:00
spinlock.c
srcu.c
Merge branches 'urgent.2012.10.27a', 'doc.2012.11.16a', 'fixes.2012.11.13a', 'srcu.2012.10.27a', 'stall.2012.11.13a', 'tracing.2012.11.08a' and 'idle.2012.10.24a' into HEAD
2012-11-16 09:59:58 -08:00
stacktrace.c
stop_machine.c
sys.c
cputime: Rename thread_group_times to thread_group_cputime_adjusted
2012-11-28 17:07:57 +01:00
sys_ni.c
module: add syscall to load module from fd
2012-12-14 13:05:22 +10:30
sysctl.c
Automatic NUMA Balancing V11
2012-12-16 15:18:08 -08:00
sysctl_binary.c
pidns: Use task_active_pid_ns where appropriate
2012-11-19 05:59:09 -08:00
task_work.c
task_work: task_work_add() should not succeed after exit_task_work()
2012-09-13 16:47:34 +02:00
taskstats.c
taskstats: cgroupstats_user_cmd() may leak on error
2012-10-06 03:05:31 +09:00
test_kprobes.c
time.c
time: Move update_vsyscall definitions to timekeeper_internal.h
2012-09-24 12:38:06 -04:00
timeconst.pl
timer.c
timers: Fix endless looping between cascade() and internal_add_timer()
2012-10-09 21:27:14 +02:00
tracepoint.c
tsacct.c
userns: Convert taskstats to handle the user and pid namespaces.
2012-09-18 01:01:32 -07:00
uid16.c
up.c
user-return-notifier.c
user.c
proc: Usable inode numbers for the namespace file descriptors.
2012-11-20 04:19:49 -08:00
user_namespace.c
userns: Fix typo in description of the limitation of userns_install
2012-12-14 18:36:36 -08:00
utsname.c
userns: Require CAP_SYS_ADMIN for most uses of setns.
2012-12-14 16:12:03 -08:00
utsname_sysctl.c
wait.c
propagate name change to comments in kernel source
2012-12-06 10:39:54 +01:00
watchdog.c
watchdog: Fix disable/enable regression
2012-12-19 12:10:33 -08:00
workqueue.c
Merge branch 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
2012-12-12 08:15:13 -08:00
workqueue_sched.h