diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2008-07-18 04:06:50 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-18 04:06:50 -0700 |
commit | 60bdde95807e982a824be9cfdd35055cc721a88a (patch) | |
tree | 286bd367b687f9a1daddcc6b0fde2f2e8ef4c0ef /net/ipv4/proc.c | |
parent | 8e3461d01bdbc3dbf993448ed9ad4acaaeb6495d (diff) | |
download | linux-60bdde95807e982a824be9cfdd35055cc721a88a.tar.gz linux-60bdde95807e982a824be9cfdd35055cc721a88a.tar.bz2 linux-60bdde95807e982a824be9cfdd35055cc721a88a.zip |
proc: clean the ip_misc_proc_init and ip_proc_init_net error paths
After all this stuff is moved outside, this function can look better.
Besides, I tuned the error path in ip_proc_init_net to make it have
only 2 exit points, not 3.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/proc.c')
-rw-r--r-- | net/ipv4/proc.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c index 120e1f7461da..554390431a4e 100644 --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c @@ -508,7 +508,7 @@ static const struct file_operations netstat_seq_fops = { static __net_init int ip_proc_init_net(struct net *net) { if (!proc_net_fops_create(net, "sockstat", S_IRUGO, &sockstat_seq_fops)) - return -ENOMEM; + goto out_sockstat; if (!proc_net_fops_create(net, "netstat", S_IRUGO, &netstat_seq_fops)) goto out_netstat; if (!proc_net_fops_create(net, "snmp", S_IRUGO, &snmp_seq_fops)) @@ -520,6 +520,7 @@ out_snmp: proc_net_remove(net, "netstat"); out_netstat: proc_net_remove(net, "sockstat"); +out_sockstat: return -ENOMEM; } @@ -537,16 +538,6 @@ static __net_initdata struct pernet_operations ip_proc_ops = { int __init ip_misc_proc_init(void) { - int rc = 0; - - if (register_pernet_subsys(&ip_proc_ops)) - goto out_pernet; - -out: - return rc; - -out_pernet: - rc = -ENOMEM; - goto out; + return register_pernet_subsys(&ip_proc_ops); } |