devlink: Remove redundant free on error path
The current code performs unneeded free. Remove the redundant skb freeing
during the error path.
Fixes: 1555d204e7
("devlink: Support for pipeline debug (dpipe)")
Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
8137a8e219
Коммит
7fe4d6dcbc
|
@ -1798,7 +1798,7 @@ send_done:
|
||||||
if (!nlh) {
|
if (!nlh) {
|
||||||
err = devlink_dpipe_send_and_alloc_skb(&skb, info);
|
err = devlink_dpipe_send_and_alloc_skb(&skb, info);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_skb_send_alloc;
|
return err;
|
||||||
goto send_done;
|
goto send_done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1807,7 +1807,6 @@ send_done:
|
||||||
nla_put_failure:
|
nla_put_failure:
|
||||||
err = -EMSGSIZE;
|
err = -EMSGSIZE;
|
||||||
err_table_put:
|
err_table_put:
|
||||||
err_skb_send_alloc:
|
|
||||||
genlmsg_cancel(skb, hdr);
|
genlmsg_cancel(skb, hdr);
|
||||||
nlmsg_free(skb);
|
nlmsg_free(skb);
|
||||||
return err;
|
return err;
|
||||||
|
@ -2073,7 +2072,7 @@ static int devlink_dpipe_entries_fill(struct genl_info *info,
|
||||||
table->counters_enabled,
|
table->counters_enabled,
|
||||||
&dump_ctx);
|
&dump_ctx);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_entries_dump;
|
return err;
|
||||||
|
|
||||||
send_done:
|
send_done:
|
||||||
nlh = nlmsg_put(dump_ctx.skb, info->snd_portid, info->snd_seq,
|
nlh = nlmsg_put(dump_ctx.skb, info->snd_portid, info->snd_seq,
|
||||||
|
@ -2081,16 +2080,10 @@ send_done:
|
||||||
if (!nlh) {
|
if (!nlh) {
|
||||||
err = devlink_dpipe_send_and_alloc_skb(&dump_ctx.skb, info);
|
err = devlink_dpipe_send_and_alloc_skb(&dump_ctx.skb, info);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_skb_send_alloc;
|
return err;
|
||||||
goto send_done;
|
goto send_done;
|
||||||
}
|
}
|
||||||
return genlmsg_reply(dump_ctx.skb, info);
|
return genlmsg_reply(dump_ctx.skb, info);
|
||||||
|
|
||||||
err_entries_dump:
|
|
||||||
err_skb_send_alloc:
|
|
||||||
genlmsg_cancel(dump_ctx.skb, dump_ctx.hdr);
|
|
||||||
nlmsg_free(dump_ctx.skb);
|
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int devlink_nl_cmd_dpipe_entries_get(struct sk_buff *skb,
|
static int devlink_nl_cmd_dpipe_entries_get(struct sk_buff *skb,
|
||||||
|
@ -2229,7 +2222,7 @@ send_done:
|
||||||
if (!nlh) {
|
if (!nlh) {
|
||||||
err = devlink_dpipe_send_and_alloc_skb(&skb, info);
|
err = devlink_dpipe_send_and_alloc_skb(&skb, info);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_skb_send_alloc;
|
return err;
|
||||||
goto send_done;
|
goto send_done;
|
||||||
}
|
}
|
||||||
return genlmsg_reply(skb, info);
|
return genlmsg_reply(skb, info);
|
||||||
|
@ -2237,7 +2230,6 @@ send_done:
|
||||||
nla_put_failure:
|
nla_put_failure:
|
||||||
err = -EMSGSIZE;
|
err = -EMSGSIZE;
|
||||||
err_table_put:
|
err_table_put:
|
||||||
err_skb_send_alloc:
|
|
||||||
genlmsg_cancel(skb, hdr);
|
genlmsg_cancel(skb, hdr);
|
||||||
nlmsg_free(skb);
|
nlmsg_free(skb);
|
||||||
return err;
|
return err;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче