netfilter: nf_conntrack: simplify __nf_ct_try_assign_helper() return logic
authorPablo Neira <pablo@netfilter.org>
Fri, 9 Sep 2016 12:01:26 +0000 (14:01 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 12 Sep 2016 17:54:34 +0000 (19:54 +0200)
Instead of several goto's just to return the result, simply return it.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_conntrack_helper.c

index b989b81ac156380b5151a14fb26bf46e3f000dcc..4ffe388a9a1edfab3f9dcc4980e11cd07f4e9653 100644 (file)
@@ -189,7 +189,6 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct, struct nf_conn *tmpl,
        struct nf_conntrack_helper *helper = NULL;
        struct nf_conn_help *help;
        struct net *net = nf_ct_net(ct);
-       int ret = 0;
 
        /* We already got a helper explicitly attached. The function
         * nf_conntrack_alter_reply - in case NAT is in use - asks for looking
@@ -223,15 +222,13 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct, struct nf_conn *tmpl,
        if (helper == NULL) {
                if (help)
                        RCU_INIT_POINTER(help->helper, NULL);
-               goto out;
+               return 0;
        }
 
        if (help == NULL) {
                help = nf_ct_helper_ext_add(ct, helper, flags);
-               if (help == NULL) {
-                       ret = -ENOMEM;
-                       goto out;
-               }
+               if (help == NULL)
+                       return -ENOMEM;
        } else {
                /* We only allow helper re-assignment of the same sort since
                 * we cannot reallocate the helper extension area.
@@ -240,13 +237,13 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct, struct nf_conn *tmpl,
 
                if (tmp && tmp->help != helper->help) {
                        RCU_INIT_POINTER(help->helper, NULL);
-                       goto out;
+                       return 0;
                }
        }
 
        rcu_assign_pointer(help->helper, helper);
-out:
-       return ret;
+
+       return 0;
 }
 EXPORT_SYMBOL_GPL(__nf_ct_try_assign_helper);