diff options
Diffstat (limited to 'net/core/devlink.c')
| -rw-r--r-- | net/core/devlink.c | 16 | 
1 files changed, 4 insertions, 12 deletions
diff --git a/net/core/devlink.c b/net/core/devlink.c index 2f2307d94787..effd4848c2b4 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -1798,7 +1798,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;  	} @@ -1807,7 +1807,6 @@ send_done:  nla_put_failure:  	err = -EMSGSIZE;  err_table_put: -err_skb_send_alloc:  	genlmsg_cancel(skb, hdr);  	nlmsg_free(skb);  	return err; @@ -2073,7 +2072,7 @@ static int devlink_dpipe_entries_fill(struct genl_info *info,  					     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, @@ -2081,16 +2080,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, @@ -2229,7 +2222,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); @@ -2237,7 +2230,6 @@ send_done:  nla_put_failure:  	err = -EMSGSIZE;  err_table_put: -err_skb_send_alloc:  	genlmsg_cancel(skb, hdr);  	nlmsg_free(skb);  	return err;  | 
