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 | ||
