gazelle/0091-fix-alloc-not-free.patch
yinbin c72dfe116d sync fix rte_ring_create/free time consuming
(cherry picked from commit a648226e16c6617ea4bb9f33eb3abdecf392292b)
2023-12-27 17:33:08 +08:00

50 lines
1.9 KiB
Diff

From 053024d4cbedc106276e25a7ace5d833f8a62dea Mon Sep 17 00:00:00 2001
From: compile_success <980965867@qq.com>
Date: Wed, 20 Dec 2023 01:37:12 +0000
Subject: [PATCH] fix alloc not free
---
src/lstack/core/lstack_cfg.c | 2 ++
src/lstack/core/lstack_dpdk.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/lstack/core/lstack_cfg.c b/src/lstack/core/lstack_cfg.c
index 6324c97..f639473 100644
--- a/src/lstack/core/lstack_cfg.c
+++ b/src/lstack/core/lstack_cfg.c
@@ -1185,11 +1185,13 @@ static int32_t parse_bond_slave_mac(void)
if (k >= GAZELLE_MAX_BOND_NUM) {
LSTACK_PRE_LOG(LSTACK_ERR, "cfg: too many slave mac address. The maximum number of mac address is %d.\n",
GAZELLE_MAX_BOND_NUM);
+ free(bond_slave_mac_tmp);
return -EINVAL;
}
ret = str_to_eth_addr(mac_addr, g_config_params.bond_slave_mac_addr[k].addr_bytes);
if (ret != 0) {
LSTACK_PRE_LOG(LSTACK_ERR, "cfg: invalid device name %s ret=%d.\n", mac_addr, ret);
+ free(bond_slave_mac_tmp);
return ret;
}
mac_addr = strtok_s(NULL, delim, &tmp);
diff --git a/src/lstack/core/lstack_dpdk.c b/src/lstack/core/lstack_dpdk.c
index e20dea8..6933ecd 100644
--- a/src/lstack/core/lstack_dpdk.c
+++ b/src/lstack/core/lstack_dpdk.c
@@ -553,11 +553,13 @@ int32_t dpdk_ethdev_init(int port_id, bool bond_port)
int slave_id = rte_eth_bond_primary_get(port_id);
if (slave_id < 0) {
LSTACK_LOG(ERR, LSTACK, "dpdk get bond primary port failed port = %d\n", slave_id);
+ free(eth_params);
return slave_id;
}
ret = rte_eth_dev_info_get(slave_id, &slave_dev_info);
if (ret != 0) {
LSTACK_LOG(ERR, LSTACK, "dpdk get bond dev info failed ret = %d\n", ret);
+ free(eth_params);
return ret;
}
dev_info.rx_offload_capa = slave_dev_info.rx_offload_capa;
--
2.27.0