diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2011-06-28 15:41:10 -0400 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-07-20 01:44:07 -0400 |
| commit | 6657719390cd05be45f4e3b501d8bb46889c0a19 (patch) | |
| tree | 8d2d97f645b05badd134526659f5d9adc7ab9234 | |
| parent | 1ba106818615faddb63ba782f85f3498b9eb61c6 (diff) | |
make sure that nsproxy_cache is initialized early enough
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| -rw-r--r-- | include/linux/nsproxy.h | 1 | ||||
| -rw-r--r-- | kernel/fork.c | 1 | ||||
| -rw-r--r-- | kernel/nsproxy.c | 4 |
3 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/nsproxy.h b/include/linux/nsproxy.h index 50d20aba57d3..cc37a55ad004 100644 --- a/include/linux/nsproxy.h +++ b/include/linux/nsproxy.h | |||
| @@ -68,6 +68,7 @@ void switch_task_namespaces(struct task_struct *tsk, struct nsproxy *new); | |||
| 68 | void free_nsproxy(struct nsproxy *ns); | 68 | void free_nsproxy(struct nsproxy *ns); |
| 69 | int unshare_nsproxy_namespaces(unsigned long, struct nsproxy **, | 69 | int unshare_nsproxy_namespaces(unsigned long, struct nsproxy **, |
| 70 | struct fs_struct *); | 70 | struct fs_struct *); |
| 71 | int __init nsproxy_cache_init(void); | ||
| 71 | 72 | ||
| 72 | static inline void put_nsproxy(struct nsproxy *ns) | 73 | static inline void put_nsproxy(struct nsproxy *ns) |
| 73 | { | 74 | { |
diff --git a/kernel/fork.c b/kernel/fork.c index 0276c30401a0..31fa13e63b70 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
| @@ -1574,6 +1574,7 @@ void __init proc_caches_init(void) | |||
| 1574 | SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_NOTRACK, NULL); | 1574 | SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_NOTRACK, NULL); |
| 1575 | vm_area_cachep = KMEM_CACHE(vm_area_struct, SLAB_PANIC); | 1575 | vm_area_cachep = KMEM_CACHE(vm_area_struct, SLAB_PANIC); |
| 1576 | mmap_init(); | 1576 | mmap_init(); |
| 1577 | nsproxy_cache_init(); | ||
| 1577 | } | 1578 | } |
| 1578 | 1579 | ||
| 1579 | /* | 1580 | /* |
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c index d6a00f3de15d..9aeab4b98c64 100644 --- a/kernel/nsproxy.c +++ b/kernel/nsproxy.c | |||
| @@ -271,10 +271,8 @@ out: | |||
| 271 | return err; | 271 | return err; |
| 272 | } | 272 | } |
| 273 | 273 | ||
| 274 | static int __init nsproxy_cache_init(void) | 274 | int __init nsproxy_cache_init(void) |
| 275 | { | 275 | { |
| 276 | nsproxy_cachep = KMEM_CACHE(nsproxy, SLAB_PANIC); | 276 | nsproxy_cachep = KMEM_CACHE(nsproxy, SLAB_PANIC); |
| 277 | return 0; | 277 | return 0; |
| 278 | } | 278 | } |
| 279 | |||
| 280 | module_init(nsproxy_cache_init); | ||
