Revise the logic, using the DPDK memory management API to replace the
malloc()/free().

Signed-off-by: Chaoyong He <chaoyong...@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderl...@corigine.com>
---
 drivers/net/nfp/flower/nfp_flower.c    |  2 +-
 drivers/net/nfp/nfp_ethdev.c           |  8 ++++----
 drivers/net/nfp/nfpcore/nfp_cppcore.c  | 10 +++++-----
 drivers/net/nfp/nfpcore/nfp_hwinfo.c   |  6 +++---
 drivers/net/nfp/nfpcore/nfp_mip.c      |  6 +++---
 drivers/net/nfp/nfpcore/nfp_mutex.c    |  4 ++--
 drivers/net/nfp/nfpcore/nfp_nffw.c     |  8 +++-----
 drivers/net/nfp/nfpcore/nfp_nsp.c      |  6 +++---
 drivers/net/nfp/nfpcore/nfp_nsp_cmds.c |  8 +++-----
 drivers/net/nfp/nfpcore/nfp_nsp_eth.c  | 19 ++++++++-----------
 drivers/net/nfp/nfpcore/nfp_resource.c | 10 ++++------
 11 files changed, 39 insertions(+), 48 deletions(-)

diff --git a/drivers/net/nfp/flower/nfp_flower.c 
b/drivers/net/nfp/flower/nfp_flower.c
index 77dab864f3..37895e8355 100644
--- a/drivers/net/nfp/flower/nfp_flower.c
+++ b/drivers/net/nfp/flower/nfp_flower.c
@@ -225,7 +225,7 @@ nfp_flower_pf_close(struct rte_eth_dev *dev)
        PMD_DRV_LOG(INFO, "Freeing PF resources");
        nfp_cpp_area_free(pf_dev->ctrl_area);
        nfp_cpp_area_free(pf_dev->hwqueues_area);
-       free(pf_dev->hwinfo);
+       rte_free(pf_dev->hwinfo);
        free(pf_dev->sym_tbl);
        nfp_cpp_free(pf_dev->cpp);
        rte_free(app_fw_flower);
diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index e3ff3d8087..2e43055fd5 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -47,7 +47,7 @@ nfp_net_pf_read_mac(struct nfp_app_fw_nic *app_fw_nic, int 
port)
 
        rte_ether_addr_copy(&nfp_eth_table->ports[port].mac_addr, 
&hw->mac_addr);
 
-       free(nfp_eth_table);
+       rte_free(nfp_eth_table);
        return 0;
 }
 
@@ -312,7 +312,7 @@ nfp_net_close(struct rte_eth_dev *dev)
        PMD_INIT_LOG(INFO, "Freeing PF resources");
        nfp_cpp_area_free(pf_dev->ctrl_area);
        nfp_cpp_area_free(pf_dev->hwqueues_area);
-       free(pf_dev->hwinfo);
+       rte_free(pf_dev->hwinfo);
        free(pf_dev->sym_tbl);
        nfp_cpp_free(pf_dev->cpp);
        rte_free(app_fw_nic);
@@ -1047,9 +1047,9 @@ nfp_pf_init(struct rte_pci_device *pci_dev)
 sym_tbl_cleanup:
        free(sym_tbl);
 eth_table_cleanup:
-       free(nfp_eth_table);
+       rte_free(nfp_eth_table);
 hwinfo_cleanup:
-       free(hwinfo);
+       rte_free(hwinfo);
 cpp_cleanup:
        nfp_cpp_free(cpp);
 
diff --git a/drivers/net/nfp/nfpcore/nfp_cppcore.c 
b/drivers/net/nfp/nfpcore/nfp_cppcore.c
index f601907673..1e0608a8e4 100644
--- a/drivers/net/nfp/nfpcore/nfp_cppcore.c
+++ b/drivers/net/nfp/nfpcore/nfp_cppcore.c
@@ -866,7 +866,7 @@ nfp_cpp_alloc(struct rte_pci_device *dev,
        if (ops == NULL || ops->init == NULL)
                return NULL;
 
-       cpp = calloc(1, sizeof(*cpp));
+       cpp = rte_zmalloc(NULL, sizeof(*cpp), 0);
        if (cpp == NULL)
                return NULL;
 
@@ -876,7 +876,7 @@ nfp_cpp_alloc(struct rte_pci_device *dev,
        if (cpp->op->init) {
                err = cpp->op->init(cpp, dev);
                if (err < 0) {
-                       free(cpp);
+                       rte_free(cpp);
                        return NULL;
                }
        }
@@ -891,7 +891,7 @@ nfp_cpp_alloc(struct rte_pci_device *dev,
                        err = nfp_xpb_readl(cpp, xpbaddr,
                                        (uint32_t *)&cpp->imb_cat_table[tgt]);
                        if (err < 0) {
-                               free(cpp);
+                               rte_free(cpp);
                                return NULL;
                        }
                }
@@ -900,7 +900,7 @@ nfp_cpp_alloc(struct rte_pci_device *dev,
        err = nfp_cpp_set_mu_locality_lsb(cpp);
        if (err < 0) {
                PMD_DRV_LOG(ERR, "Can't calculate MU locality bit offset");
-               free(cpp);
+               rte_free(cpp);
                return NULL;
        }
 
@@ -922,7 +922,7 @@ nfp_cpp_free(struct nfp_cpp *cpp)
        if (cpp->serial_len != 0)
                free(cpp->serial);
 
-       free(cpp);
+       rte_free(cpp);
 }
 
 /**
diff --git a/drivers/net/nfp/nfpcore/nfp_hwinfo.c 
b/drivers/net/nfp/nfpcore/nfp_hwinfo.c
index f5579ab60f..7abf9c7700 100644
--- a/drivers/net/nfp/nfpcore/nfp_hwinfo.c
+++ b/drivers/net/nfp/nfpcore/nfp_hwinfo.c
@@ -109,7 +109,7 @@ nfp_hwinfo_try_fetch(struct nfp_cpp *cpp,
        if (*cpp_size < HWINFO_SIZE_MIN)
                return NULL;
 
-       db = malloc(*cpp_size + 1);
+       db = rte_zmalloc(NULL, *cpp_size + 1, 0);
        if (db == NULL)
                return NULL;
 
@@ -134,7 +134,7 @@ nfp_hwinfo_try_fetch(struct nfp_cpp *cpp,
 
        return (void *)db;
 exit_free:
-       free(db);
+       rte_free(db);
        return NULL;
 }
 
@@ -175,7 +175,7 @@ nfp_hwinfo_read(struct nfp_cpp *cpp)
 
        err = nfp_hwinfo_db_validate(db, hwdb_size);
        if (err != 0) {
-               free(db);
+               rte_free(db);
                return NULL;
        }
        return db;
diff --git a/drivers/net/nfp/nfpcore/nfp_mip.c 
b/drivers/net/nfp/nfpcore/nfp_mip.c
index 0892c99e96..3c59582846 100644
--- a/drivers/net/nfp/nfpcore/nfp_mip.c
+++ b/drivers/net/nfp/nfpcore/nfp_mip.c
@@ -104,14 +104,14 @@ nfp_mip_open(struct nfp_cpp *cpp)
        int err;
        struct nfp_mip *mip;
 
-       mip = malloc(sizeof(*mip));
+       mip = rte_zmalloc(NULL, sizeof(*mip), 0);
        if (mip == NULL)
                return NULL;
 
        err = nfp_mip_read_resource(cpp, mip);
        if (err != 0) {
                PMD_DRV_LOG(ERR, "Failed to read MIP resource");
-               free(mip);
+               rte_free(mip);
                return NULL;
        }
 
@@ -123,7 +123,7 @@ nfp_mip_open(struct nfp_cpp *cpp)
 void
 nfp_mip_close(struct nfp_mip *mip)
 {
-       free(mip);
+       rte_free(mip);
 }
 
 const char *
diff --git a/drivers/net/nfp/nfpcore/nfp_mutex.c 
b/drivers/net/nfp/nfpcore/nfp_mutex.c
index 404d4fa938..5392924cf0 100644
--- a/drivers/net/nfp/nfpcore/nfp_mutex.c
+++ b/drivers/net/nfp/nfpcore/nfp_mutex.c
@@ -163,7 +163,7 @@ nfp_cpp_mutex_alloc(struct nfp_cpp *cpp,
        if (tmp != key)
                return NULL;
 
-       mutex = calloc(sizeof(*mutex), 1);
+       mutex = rte_zmalloc(NULL, sizeof(*mutex), 0);
        if (mutex == NULL)
                return NULL;
 
@@ -209,7 +209,7 @@ nfp_cpp_mutex_free(struct nfp_cpp_mutex *mutex)
        if (mutex->cpp && mutex == mutex->cpp->mutex_cache)
                mutex->cpp->mutex_cache = mutex->next;
 
-       free(mutex);
+       rte_free(mutex);
 }
 
 /**
diff --git a/drivers/net/nfp/nfpcore/nfp_nffw.c 
b/drivers/net/nfp/nfpcore/nfp_nffw.c
index af55671a88..a635239b30 100644
--- a/drivers/net/nfp/nfpcore/nfp_nffw.c
+++ b/drivers/net/nfp/nfpcore/nfp_nffw.c
@@ -128,12 +128,10 @@ nfp_nffw_info_open(struct nfp_cpp *cpp)
        struct nfp_nffw_info *state;
        struct nfp_nffw_info_data *fwinf;
 
-       state = malloc(sizeof(*state));
+       state = rte_zmalloc(NULL, sizeof(*state), 0);
        if (state == NULL)
                return NULL;
 
-       memset(state, 0, sizeof(*state));
-
        state->res = nfp_resource_acquire(cpp, NFP_RESOURCE_NFP_NFFW);
        if (state->res == NULL) {
                PMD_DRV_LOG(ERR, "NFFW - acquire resource failed");
@@ -166,7 +164,7 @@ nfp_nffw_info_open(struct nfp_cpp *cpp)
 err_release:
        nfp_resource_release(state->res);
 err_free:
-       free(state);
+       rte_free(state);
        return NULL;
 }
 
@@ -180,7 +178,7 @@ void
 nfp_nffw_info_close(struct nfp_nffw_info *state)
 {
        nfp_resource_release(state->res);
-       free(state);
+       rte_free(state);
 }
 
 /**
diff --git a/drivers/net/nfp/nfpcore/nfp_nsp.c 
b/drivers/net/nfp/nfpcore/nfp_nsp.c
index 039e4729bd..dd2d19936d 100644
--- a/drivers/net/nfp/nfpcore/nfp_nsp.c
+++ b/drivers/net/nfp/nfpcore/nfp_nsp.c
@@ -128,12 +128,12 @@ nfp_nsp_open(struct nfp_cpp *cpp)
                return NULL;
        }
 
-       state = malloc(sizeof(*state));
+       state = rte_zmalloc(NULL, sizeof(*state), 0);
        if (state == NULL) {
                nfp_resource_release(res);
                return NULL;
        }
-       memset(state, 0, sizeof(*state));
+
        state->cpp = cpp;
        state->res = res;
 
@@ -157,7 +157,7 @@ void
 nfp_nsp_close(struct nfp_nsp *state)
 {
        nfp_resource_release(state->res);
-       free(state);
+       rte_free(state);
 }
 
 uint16_t
diff --git a/drivers/net/nfp/nfpcore/nfp_nsp_cmds.c 
b/drivers/net/nfp/nfpcore/nfp_nsp_cmds.c
index 3081e22dad..54e1e2215d 100644
--- a/drivers/net/nfp/nfpcore/nfp_nsp_cmds.c
+++ b/drivers/net/nfp/nfpcore/nfp_nsp_cmds.c
@@ -33,22 +33,20 @@ __nfp_nsp_identify(struct nfp_nsp *nsp)
        if (nfp_nsp_get_abi_ver_minor(nsp) < 15)
                return NULL;
 
-       ni = malloc(sizeof(*ni));
+       ni = rte_zmalloc(NULL, sizeof(*ni), 0);
        if (ni == NULL)
                return NULL;
 
-       memset(ni, 0, sizeof(*ni));
        ret = nfp_nsp_read_identify(nsp, ni, sizeof(*ni));
        if (ret < 0) {
                PMD_DRV_LOG(ERR, "reading bsp version failed %d", ret);
                goto exit_free;
        }
 
-       nspi = malloc(sizeof(*nspi));
+       nspi = rte_zmalloc(NULL, sizeof(*nspi), 0);
        if (nspi == NULL)
                goto exit_free;
 
-       memset(nspi, 0, sizeof(*nspi));
        memcpy(nspi->version, ni->version, sizeof(nspi->version));
        nspi->version[sizeof(nspi->version) - 1] = '\0';
        nspi->flags = ni->flags;
@@ -61,7 +59,7 @@ __nfp_nsp_identify(struct nfp_nsp *nsp)
        nspi->sensor_mask = rte_le_to_cpu_64(ni->sensor_mask);
 
 exit_free:
-       free(ni);
+       rte_free(ni);
        return nspi;
 }
 
diff --git a/drivers/net/nfp/nfpcore/nfp_nsp_eth.c 
b/drivers/net/nfp/nfpcore/nfp_nsp_eth.c
index e32884e7d3..1906fcd385 100644
--- a/drivers/net/nfp/nfpcore/nfp_nsp_eth.c
+++ b/drivers/net/nfp/nfpcore/nfp_nsp_eth.c
@@ -252,11 +252,10 @@ __nfp_eth_read_ports(struct nfp_nsp *nsp)
        union eth_table_entry *entries;
        const struct rte_ether_addr *mac;
 
-       entries = malloc(NSP_ETH_TABLE_SIZE);
+       entries = rte_zmalloc(NULL, NSP_ETH_TABLE_SIZE, 0);
        if (entries == NULL)
                return NULL;
 
-       memset(entries, 0, NSP_ETH_TABLE_SIZE);
        ret = nfp_nsp_read_eth_table(nsp, entries, NSP_ETH_TABLE_SIZE);
        if (ret < 0) {
                PMD_DRV_LOG(ERR, "Reading port table failed %d", ret);
@@ -286,11 +285,10 @@ __nfp_eth_read_ports(struct nfp_nsp *nsp)
        }
 
        table_sz = sizeof(*table) + sizeof(struct nfp_eth_table_port) * cnt;
-       table = malloc(table_sz);
+       table = rte_zmalloc(NULL, table_sz, 0);
        if (table == NULL)
                goto err;
 
-       memset(table, 0, table_sz);
        table->count = cnt;
        for (i = 0, j = 0; i < NSP_ETH_MAX_COUNT; i++) {
                mac = (const struct rte_ether_addr *)entries[i].mac_addr;
@@ -304,12 +302,12 @@ __nfp_eth_read_ports(struct nfp_nsp *nsp)
        for (i = 0; i < table->count; i++)
                nfp_eth_calc_port_type(&table->ports[i]);
 
-       free(entries);
+       rte_free(entries);
 
        return table;
 
 err:
-       free(entries);
+       rte_free(entries);
        return NULL;
 }
 
@@ -348,14 +346,13 @@ nfp_eth_config_start(struct nfp_cpp *cpp,
        struct nfp_nsp *nsp;
        union eth_table_entry *entries;
 
-       entries = malloc(NSP_ETH_TABLE_SIZE);
+       entries = rte_zmalloc(NULL, NSP_ETH_TABLE_SIZE, 0);
        if (entries == NULL)
                return NULL;
 
-       memset(entries, 0, NSP_ETH_TABLE_SIZE);
        nsp = nfp_nsp_open(cpp);
        if (nsp == NULL) {
-               free(entries);
+               rte_free(entries);
                return nsp;
        }
 
@@ -375,7 +372,7 @@ nfp_eth_config_start(struct nfp_cpp *cpp,
 
 err:
        nfp_nsp_close(nsp);
-       free(entries);
+       rte_free(entries);
        return NULL;
 }
 
@@ -387,7 +384,7 @@ nfp_eth_config_cleanup_end(struct nfp_nsp *nsp)
        nfp_nsp_config_set_modified(nsp, 0);
        nfp_nsp_config_clear_state(nsp);
        nfp_nsp_close(nsp);
-       free(entries);
+       rte_free(entries);
 }
 
 /**
diff --git a/drivers/net/nfp/nfpcore/nfp_resource.c 
b/drivers/net/nfp/nfpcore/nfp_resource.c
index bdebf5c3aa..8ba3784f8a 100644
--- a/drivers/net/nfp/nfpcore/nfp_resource.c
+++ b/drivers/net/nfp/nfpcore/nfp_resource.c
@@ -161,19 +161,17 @@ nfp_resource_acquire(struct nfp_cpp *cpp,
        struct nfp_resource *res;
        struct nfp_cpp_mutex *dev_mutex;
 
-       res = malloc(sizeof(*res));
+       res = rte_zmalloc(NULL, sizeof(*res), 0);
        if (res == NULL)
                return NULL;
 
-       memset(res, 0, sizeof(*res));
-
        strncpy(res->name, name, NFP_RESOURCE_ENTRY_NAME_SZ);
 
        dev_mutex = nfp_cpp_mutex_alloc(cpp, NFP_RESOURCE_TBL_TARGET,
                        NFP_RESOURCE_TBL_BASE, NFP_RESOURCE_TBL_KEY);
        if (dev_mutex == NULL) {
                PMD_DRV_LOG(ERR, "RESOURCE - CPP mutex alloc failed");
-               free(res);
+               rte_free(res);
                return NULL;
        }
 
@@ -204,7 +202,7 @@ nfp_resource_acquire(struct nfp_cpp *cpp,
 
 err_free:
        nfp_cpp_mutex_free(dev_mutex);
-       free(res);
+       rte_free(res);
        return NULL;
 }
 
@@ -221,7 +219,7 @@ nfp_resource_release(struct nfp_resource *res)
 {
        nfp_cpp_mutex_unlock(res->mutex);
        nfp_cpp_mutex_free(res->mutex);
-       free(res);
+       rte_free(res);
 }
 
 /**
-- 
2.39.1

Reply via email to