#ifdef CONFIG_SYSCTL
 extern int sysctl_unix_max_dgram_qlen;
-extern void unix_sysctl_register(void);
-extern void unix_sysctl_unregister(void);
+extern int unix_sysctl_register(struct net *net);
+extern void unix_sysctl_unregister(struct net *net);
 #else
-static inline void unix_sysctl_register(void) {}
-static inline void unix_sysctl_unregister(void) {}
+static inline int unix_sysctl_register(struct net *net) { return 0; }
+static inline void unix_sysctl_unregister(struct net *net) {}
 #endif
 #endif
 #endif
 
 
        sock_register(&unix_family_ops);
        register_pernet_subsys(&unix_net_ops);
-       unix_sysctl_register();
+       unix_sysctl_register(&init_net);
 out:
        return rc;
 }
 static void __exit af_unix_exit(void)
 {
        sock_unregister(PF_UNIX);
-       unix_sysctl_unregister();
+       unix_sysctl_unregister(&init_net);
        proto_unregister(&unix_proto);
        unregister_pernet_subsys(&unix_net_ops);
 }
 
 
 static struct ctl_table_header * unix_sysctl_header;
 
-void unix_sysctl_register(void)
+int unix_sysctl_register(struct net *net)
 {
        unix_sysctl_header = register_sysctl_table(unix_root_table);
+       return unix_sysctl_header == NULL ? -ENOMEM : 0;
 }
 
-void unix_sysctl_unregister(void)
+void unix_sysctl_unregister(struct net *net)
 {
        unregister_sysctl_table(unix_sysctl_header);
 }