]> err.no Git - linux-2.6/blobdiff - fs/proc/proc_net.c
Fix pointer mismatches in proc_sysctl.c
[linux-2.6] / fs / proc / proc_net.c
index 358930a3142af37889ea1854fa8d9ad7b89fd99e..2e91fb756e9ad27be30488bd88a5e5ac8856bf34 100644 (file)
@@ -51,6 +51,12 @@ void proc_net_remove(struct net *net, const char *name)
 }
 EXPORT_SYMBOL_GPL(proc_net_remove);
 
+struct net *get_proc_net(const struct inode *inode)
+{
+       return maybe_get_net(PDE_NET(PDE(inode)));
+}
+EXPORT_SYMBOL_GPL(get_proc_net);
+
 static struct proc_dir_entry *proc_net_shadow;
 
 static struct dentry *proc_net_shadow_dentry(struct dentry *parent,
@@ -134,7 +140,7 @@ static struct inode_operations proc_net_dir_inode_operations = {
        .setattr        = proc_net_setattr,
 };
 
-static int proc_net_ns_init(struct net *net)
+static __net_init int proc_net_ns_init(struct net *net)
 {
        struct proc_dir_entry *root, *netd, *net_statd;
        int err;
@@ -172,19 +178,19 @@ free_root:
        goto out;
 }
 
-static void proc_net_ns_exit(struct net *net)
+static __net_exit void proc_net_ns_exit(struct net *net)
 {
        remove_proc_entry("stat", net->proc_net);
        remove_proc_entry("net", net->proc_net_root);
        kfree(net->proc_net_root);
 }
 
-struct pernet_operations proc_net_ns_ops = {
+struct pernet_operations __net_initdata proc_net_ns_ops = {
        .init = proc_net_ns_init,
        .exit = proc_net_ns_exit,
 };
 
-int proc_net_init(void)
+int __init proc_net_init(void)
 {
        proc_net_shadow = proc_mkdir("net", NULL);
        proc_net_shadow->proc_iops = &proc_net_dir_inode_operations;