make sure that nsproxy_cache is initialized early enough Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/include/linux/nsproxy.h b/include/linux/nsproxy.h index 50d20ab..cc37a55 100644 --- a/include/linux/nsproxy.h +++ b/include/linux/nsproxy.h
@@ -68,6 +68,7 @@ void free_nsproxy(struct nsproxy *ns); int unshare_nsproxy_namespaces(unsigned long, struct nsproxy **, struct fs_struct *); +int __init nsproxy_cache_init(void); static inline void put_nsproxy(struct nsproxy *ns) {
diff --git a/kernel/fork.c b/kernel/fork.c index 0276c30..31fa13e 100644 --- a/kernel/fork.c +++ b/kernel/fork.c
@@ -1574,6 +1574,7 @@ SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_NOTRACK, NULL); vm_area_cachep = KMEM_CACHE(vm_area_struct, SLAB_PANIC); mmap_init(); + nsproxy_cache_init(); } /*
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c index d6a00f3..9aeab4b 100644 --- a/kernel/nsproxy.c +++ b/kernel/nsproxy.c
@@ -271,10 +271,8 @@ return err; } -static int __init nsproxy_cache_init(void) +int __init nsproxy_cache_init(void) { nsproxy_cachep = KMEM_CACHE(nsproxy, SLAB_PANIC); return 0; } - -module_init(nsproxy_cache_init);