Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c607bbb472814f01b077af01ae326944ff6b8b3
Commit:     3c607bbb472814f01b077af01ae326944ff6b8b3
Parent:     1597fbc0faf88c42edb3fe42e92e53b83c3f120e
Author:     Pavel Emelyanov <[EMAIL PROTECTED]>
AuthorDate: Sun Dec 2 00:06:34 2007 +1100
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Mon Jan 28 14:55:24 2008 -0800

    [NEIGH]: Cleanup the neigh_sysctl_register
    
    This mainly removes the err variable, as this call always
    return the same error code (-ENOBUFS).
    
    Besides, 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.
    
    Signed-off-by: Pavel Emelyanov <[EMAIL PROTECTED]>
    Signed-off-by: Herbert Xu <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/core/neighbour.c |   26 +++++++++++---------------
 1 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index a8b72c1..5dbe26f 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -2652,14 +2652,14 @@ int neigh_sysctl_register(struct net_device *dev, 
struct neigh_parms *p,
                          int p_id, int pdev_id, char *p_name,
                          proc_handler *handler, ctl_handler *strategy)
 {
-       struct neigh_sysctl_table *t = kmemdup(&neigh_sysctl_template,
-                                              sizeof(*t), GFP_KERNEL);
+       struct neigh_sysctl_table *t;
        const char *dev_name_source = NULL;
        char *dev_name = NULL;
-       int err = 0;
 
+       t = kmemdup(&neigh_sysctl_template, sizeof(*t), GFP_KERNEL);
        if (!t)
-               return -ENOBUFS;
+               goto err;
+
        t->neigh_vars[0].data  = &p->mcast_probes;
        t->neigh_vars[1].data  = &p->ucast_probes;
        t->neigh_vars[2].data  = &p->app_probes;
@@ -2717,10 +2717,8 @@ int neigh_sysctl_register(struct net_device *dev, struct 
neigh_parms *p,
        }
 
        dev_name = kstrdup(dev_name_source, GFP_KERNEL);
-       if (!dev_name) {
-               err = -ENOBUFS;
+       if (!dev_name)
                goto free;
-       }
 
        t->neigh_dev[0].procname = dev_name;
 
@@ -2735,20 +2733,18 @@ int neigh_sysctl_register(struct net_device *dev, 
struct neigh_parms *p,
        t->neigh_root_dir[0].child     = t->neigh_proto_dir;
 
        t->sysctl_header = register_sysctl_table(t->neigh_root_dir);
-       if (!t->sysctl_header) {
-               err = -ENOBUFS;
+       if (!t->sysctl_header)
                goto free_procname;
-       }
+
        p->sysctl_table = t;
        return 0;
 
-       /* error path */
- free_procname:
+free_procname:
        kfree(dev_name);
- free:
+free:
        kfree(t);
-
-       return err;
+err:
+       return -ENOBUFS;
 }
 
 void neigh_sysctl_unregister(struct neigh_parms *p)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to