aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2007-12-01 07:40:40 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:55:21 -0500
commit97577e38284f48ca773392e2d401af2f6c95dc08 (patch)
treef744e46259cf06b13858f2965526d512308cb7da
parentdd88590995de7c7ce108718a9ad52b3832e77814 (diff)
[UNIX]: Extend unix_sysctl_(un)register prototypes
Add the struct net * argument to both of them to use in the future. Also make the register one return an error code. It is useless right now, but will make the future patches much simpler. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Acked-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/af_unix.h8
-rw-r--r--net/unix/af_unix.c4
-rw-r--r--net/unix/sysctl_net_unix.c5
3 files changed, 9 insertions, 8 deletions
diff --git a/include/net/af_unix.h b/include/net/af_unix.h
index a1c805d7f488..e0fba269d092 100644
--- a/include/net/af_unix.h
+++ b/include/net/af_unix.h
@@ -60,11 +60,11 @@ struct unix_sock {
60 60
61#ifdef CONFIG_SYSCTL 61#ifdef CONFIG_SYSCTL
62extern int sysctl_unix_max_dgram_qlen; 62extern int sysctl_unix_max_dgram_qlen;
63extern void unix_sysctl_register(void); 63extern int unix_sysctl_register(struct net *net);
64extern void unix_sysctl_unregister(void); 64extern void unix_sysctl_unregister(struct net *net);
65#else 65#else
66static inline void unix_sysctl_register(void) {} 66static inline int unix_sysctl_register(struct net *net) { return 0; }
67static inline void unix_sysctl_unregister(void) {} 67static inline void unix_sysctl_unregister(struct net *net) {}
68#endif 68#endif
69#endif 69#endif
70#endif 70#endif
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 393197afb190..a0aa6d3c2c08 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -2175,7 +2175,7 @@ static int __init af_unix_init(void)
2175 2175
2176 sock_register(&unix_family_ops); 2176 sock_register(&unix_family_ops);
2177 register_pernet_subsys(&unix_net_ops); 2177 register_pernet_subsys(&unix_net_ops);
2178 unix_sysctl_register(); 2178 unix_sysctl_register(&init_net);
2179out: 2179out:
2180 return rc; 2180 return rc;
2181} 2181}
@@ -2183,7 +2183,7 @@ out:
2183static void __exit af_unix_exit(void) 2183static void __exit af_unix_exit(void)
2184{ 2184{
2185 sock_unregister(PF_UNIX); 2185 sock_unregister(PF_UNIX);
2186 unix_sysctl_unregister(); 2186 unix_sysctl_unregister(&init_net);
2187 proto_unregister(&unix_proto); 2187 proto_unregister(&unix_proto);
2188 unregister_pernet_subsys(&unix_net_ops); 2188 unregister_pernet_subsys(&unix_net_ops);
2189} 2189}
diff --git a/net/unix/sysctl_net_unix.c b/net/unix/sysctl_net_unix.c
index eb0bd57ebada..b2e0407e1b7b 100644
--- a/net/unix/sysctl_net_unix.c
+++ b/net/unix/sysctl_net_unix.c
@@ -48,12 +48,13 @@ static ctl_table unix_root_table[] = {
48 48
49static struct ctl_table_header * unix_sysctl_header; 49static struct ctl_table_header * unix_sysctl_header;
50 50
51void unix_sysctl_register(void) 51int unix_sysctl_register(struct net *net)
52{ 52{
53 unix_sysctl_header = register_sysctl_table(unix_root_table); 53 unix_sysctl_header = register_sysctl_table(unix_root_table);
54 return unix_sysctl_header == NULL ? -ENOMEM : 0;
54} 55}
55 56
56void unix_sysctl_unregister(void) 57void unix_sysctl_unregister(struct net *net)
57{ 58{
58 unregister_sysctl_table(unix_sysctl_header); 59 unregister_sysctl_table(unix_sysctl_header);
59} 60}