diff options
author | Cyrill Gorcunov <gorcunov@gmail.com> | 2012-05-31 19:26:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-31 20:49:32 -0400 |
commit | 98ed57eef9f67dfe541be0bca34660ffc88365b2 (patch) | |
tree | 1dee418c15205a31a811597587bdec9d1bc0cdd2 /kernel | |
parent | ac34ebb3a67e699edcb5ac72f19d31679369dfaa (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.c | 6 |
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 | ||
199 | static int pid_ns_ctl_handler(struct ctl_table *table, int write, | 200 | static 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 | |||
227 | static struct ctl_path kern_path[] = { { .procname = "kernel", }, { } }; | 227 | static struct ctl_path kern_path[] = { { .procname = "kernel", }, { } }; |
228 | #endif /* CONFIG_CHECKPOINT_RESTORE */ | ||
228 | 229 | ||
229 | int reboot_pid_ns(struct pid_namespace *pid_ns, int cmd) | 230 | int 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) | |||
258 | static __init int pid_namespaces_init(void) | 259 | static __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 | ||