[IPV4]: Cleanup the devinet_sysctl_register
authorPavel Emelyanov <xemul@openvz.org>
Sat, 1 Dec 2007 13:17:46 +0000 (00:17 +1100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:55:25 +0000 (14:55 -0800)
I moved the call to kmalloc() from the *t declaration into
the code (this is confusing when a variable is initialized
with the result of some call) and removed unneeded comment
near the error path. Just like I did with the neigh ctl-s.

Besides, I fixed the goto's and the labels - they were indented
with spaces :(

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/devinet.c

index 6e75c884e1afdc87f47839904efce712be267d5c..72dd0ecb1081579f585a3b9b10740cb5c98ba76b 100644 (file)
@@ -1506,12 +1506,13 @@ static void devinet_sysctl_register(struct in_device *in_dev,
 {
        int i;
        struct net_device *dev = in_dev ? in_dev->dev : NULL;
-       struct devinet_sysctl_table *t = kmemdup(&devinet_sysctl, sizeof(*t),
-                                                GFP_KERNEL);
+       struct devinet_sysctl_table *t;
        char *dev_name = NULL;
 
+       t = kmemdup(&devinet_sysctl, sizeof(*t), GFP_KERNEL);
        if (!t)
-               return;
+               goto out;
+
        for (i = 0; i < ARRAY_SIZE(t->devinet_vars) - 1; i++) {
                t->devinet_vars[i].data += (char *)p - (char *)&ipv4_devconf;
                t->devinet_vars[i].extra1 = p;
@@ -1532,7 +1533,7 @@ static void devinet_sysctl_register(struct in_device *in_dev,
         */
        dev_name = kstrdup(dev_name, GFP_KERNEL);
        if (!dev_name)
-           goto free;
+               goto free;
 
        t->devinet_dev[0].procname    = dev_name;
        t->devinet_dev[0].child       = t->devinet_vars;
@@ -1542,16 +1543,16 @@ static void devinet_sysctl_register(struct in_device *in_dev,
 
        t->sysctl_header = register_sysctl_table(t->devinet_root_dir);
        if (!t->sysctl_header)
-           goto free_procname;
+               goto free_procname;
 
        p->sysctl = t;
        return;
 
-       /* error path */
- free_procname:
+free_procname:
        kfree(dev_name);
- free:
+free:
        kfree(t);
+out:
        return;
 }