[08/20] net/cnxk: free 'node' memory when node add fail

Message ID tencent_A4F9A97D84BB4ED0B7C648B048680C0B0F06@qq.com (mailing list archive)
State Changes Requested, archived
Delegated to: David Marchand
Headers
Series fix memory leaks in error handling |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Weiguo Li Feb. 22, 2022, 6:18 p.m. UTC
  When node_add failed and function return, then the memory of 'node'
is leaked.

Fixes: 4435371b8fb1c0 ("net/cnxk: add TM shaper and node operations")

Signed-off-by: Weiguo Li <liwg06@foxmail.com>
---
 drivers/net/cnxk/cnxk_tm.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Nithin Dabilpuram April 7, 2022, 9:02 a.m. UTC | #1
Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>

On 2/22/22 11:48 PM, Weiguo Li wrote:
> When node_add failed and function return, then the memory of 'node'
> is leaked.
> 
> Fixes: 4435371b8fb1c0 ("net/cnxk: add TM shaper and node operations")
> 
> Signed-off-by: Weiguo Li <liwg06@foxmail.com>
> ---
>   drivers/net/cnxk/cnxk_tm.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/cnxk/cnxk_tm.c b/drivers/net/cnxk/cnxk_tm.c
> index 9015a452f8..81afafd5b7 100644
> --- a/drivers/net/cnxk/cnxk_tm.c
> +++ b/drivers/net/cnxk/cnxk_tm.c
> @@ -389,6 +389,7 @@ cnxk_nix_tm_node_add(struct rte_eth_dev *eth_dev, uint32_t node_id,
>   	if (rc < 0) {
>   		error->type = roc_nix_tm_err_to_rte_err(rc);
>   		error->message = roc_error_msg_get(rc);
> +		rte_free(node);
>   		return rc;
>   	}
>   	error->type = RTE_TM_ERROR_TYPE_NONE;
  

Patch

diff --git a/drivers/net/cnxk/cnxk_tm.c b/drivers/net/cnxk/cnxk_tm.c
index 9015a452f8..81afafd5b7 100644
--- a/drivers/net/cnxk/cnxk_tm.c
+++ b/drivers/net/cnxk/cnxk_tm.c
@@ -389,6 +389,7 @@  cnxk_nix_tm_node_add(struct rte_eth_dev *eth_dev, uint32_t node_id,
 	if (rc < 0) {
 		error->type = roc_nix_tm_err_to_rte_err(rc);
 		error->message = roc_error_msg_get(rc);
+		rte_free(node);
 		return rc;
 	}
 	error->type = RTE_TM_ERROR_TYPE_NONE;