aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@gmail.com>2012-05-31 19:26:42 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-31 20:49:32 -0400
commit98ed57eef9f67dfe541be0bca34660ffc88365b2 (patch)
tree1dee418c15205a31a811597587bdec9d1bc0cdd2 /kernel
parentac34ebb3a67e699edcb5ac72f19d31679369dfaa (diff)
sysctl: make kernel.ns_last_pid control dependent on CHECKPOINT_RESTORE
For those who doesn't need C/R functionality there is no need to control last pid, ie the pid for the next fork() call. Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Cc: Pavel Emelyanov <xemul@parallels.com> Cc: Tejun Heo <tj@kernel.org> Cc: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/pid_namespace.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
index fd3c44986191..16b20e38c4a1 100644
--- a/kernel/pid_namespace.c
+++ b/kernel/pid_namespace.c
@@ -196,6 +196,7 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns)
196 return; 196 return;
197} 197}
198 198
199#ifdef CONFIG_CHECKPOINT_RESTORE
199static int pid_ns_ctl_handler(struct ctl_table *table, int write, 200static int pid_ns_ctl_handler(struct ctl_table *table, int write,
200 void __user *buffer, size_t *lenp, loff_t *ppos) 201 void __user *buffer, size_t *lenp, loff_t *ppos)
201{ 202{
@@ -223,8 +224,8 @@ static struct ctl_table pid_ns_ctl_table[] = {
223 }, 224 },
224 { } 225 { }
225}; 226};
226
227static struct ctl_path kern_path[] = { { .procname = "kernel", }, { } }; 227static struct ctl_path kern_path[] = { { .procname = "kernel", }, { } };
228#endif /* CONFIG_CHECKPOINT_RESTORE */
228 229
229int reboot_pid_ns(struct pid_namespace *pid_ns, int cmd) 230int reboot_pid_ns(struct pid_namespace *pid_ns, int cmd)
230{ 231{
@@ -258,7 +259,10 @@ int reboot_pid_ns(struct pid_namespace *pid_ns, int cmd)
258static __init int pid_namespaces_init(void) 259static __init int pid_namespaces_init(void)
259{ 260{
260 pid_ns_cachep = KMEM_CACHE(pid_namespace, SLAB_PANIC); 261 pid_ns_cachep = KMEM_CACHE(pid_namespace, SLAB_PANIC);
262
263#ifdef CONFIG_CHECKPOINT_RESTORE
261 register_sysctl_paths(kern_path, pid_ns_ctl_table); 264 register_sysctl_paths(kern_path, pid_ns_ctl_table);
265#endif
262 return 0; 266 return 0;
263} 267}
264 268