Skip to content

Commit

Permalink
netfilter: nf_conntrack: simplify __nf_ct_try_assign_helper() return …
Browse files Browse the repository at this point in the history
…logic

Instead of several goto's just to return the result, simply return it.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  • Loading branch information
Pablo Neira committed Sep 12, 2016
1 parent 71212c9 commit cf71c03
Showing 1 changed file with 6 additions and 9 deletions.
15 changes: 6 additions & 9 deletions net/netfilter/nf_conntrack_helper.c
Original file line number Diff line number Diff line change
@@ -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);

0 comments on commit cf71c03

Please sign in to comment.