| From foo@baz Wed Mar 28 18:37:51 CEST 2018 |
| From: Arkadi Sharshevsky <arkadis@mellanox.com> |
| Date: Sun, 18 Mar 2018 17:37:22 +0200 |
| Subject: devlink: Remove redundant free on error path |
| |
| From: Arkadi Sharshevsky <arkadis@mellanox.com> |
| |
| |
| [ Upstream commit 7fe4d6dcbcb43fe0282d4213fc52be178bb30e91 ] |
| |
| The current code performs unneeded free. Remove the redundant skb freeing |
| during the error path. |
| |
| Fixes: 1555d204e743 ("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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/core/devlink.c | 16 ++++------------ |
| 1 file changed, 4 insertions(+), 12 deletions(-) |
| |
| --- a/net/core/devlink.c |
| +++ b/net/core/devlink.c |
| @@ -1776,7 +1776,7 @@ send_done: |
| if (!nlh) { |
| err = devlink_dpipe_send_and_alloc_skb(&skb, info); |
| if (err) |
| - goto err_skb_send_alloc; |
| + return err; |
| goto send_done; |
| } |
| |
| @@ -1785,7 +1785,6 @@ send_done: |
| nla_put_failure: |
| err = -EMSGSIZE; |
| err_table_put: |
| -err_skb_send_alloc: |
| genlmsg_cancel(skb, hdr); |
| nlmsg_free(skb); |
| return err; |
| @@ -2051,7 +2050,7 @@ static int devlink_dpipe_entries_fill(st |
| table->counters_enabled, |
| &dump_ctx); |
| if (err) |
| - goto err_entries_dump; |
| + return err; |
| |
| send_done: |
| nlh = nlmsg_put(dump_ctx.skb, info->snd_portid, info->snd_seq, |
| @@ -2059,16 +2058,10 @@ send_done: |
| if (!nlh) { |
| err = devlink_dpipe_send_and_alloc_skb(&dump_ctx.skb, info); |
| if (err) |
| - goto err_skb_send_alloc; |
| + return err; |
| goto send_done; |
| } |
| 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, |
| @@ -2207,7 +2200,7 @@ send_done: |
| if (!nlh) { |
| err = devlink_dpipe_send_and_alloc_skb(&skb, info); |
| if (err) |
| - goto err_skb_send_alloc; |
| + return err; |
| goto send_done; |
| } |
| return genlmsg_reply(skb, info); |
| @@ -2215,7 +2208,6 @@ send_done: |
| nla_put_failure: |
| err = -EMSGSIZE; |
| err_table_put: |
| -err_skb_send_alloc: |
| genlmsg_cancel(skb, hdr); |
| nlmsg_free(skb); |
| return err; |