[dpdk-dev] [EXT] Re: [PATCH] ethdev: report error on name truncation

Nithin Kumar Dabilpuram ndabilpuram at marvell.com
Tue Jan 8 07:06:29 CET 2019


Sure. Format change was unintentional and happened during internal merge, I’ll fix that and remove function name and send V2.

--
Thanks
Nithin

From: Andrew Rybchenko <arybchenko at solarflare.com>
Sent: Monday, January 7, 2019 8:17 PM
To: Nithin Kumar Dabilpuram <ndabilpuram at marvell.com>; Thomas Monjalon <thomas at monjalon.net>; Ferruh Yigit <ferruh.yigit at intel.com>; Andrew Rybchenko <arybchenko at solarflare.com>
Cc: dev at dpdk.org; Jerin Jacob Kollanukkaran <jerinj at marvell.com>
Subject: [EXT] Re: [dpdk-dev] [PATCH] ethdev: report error on name truncation

External Email
________________________________
On 1/7/19 5:40 PM, Nithin Kumar Dabilpuram wrote:

Signed-off-by: Nithin Dabilpuram <ndabilpuram at marvell.com><mailto:ndabilpuram at marvell.com>

---

 lib/librte_ethdev/rte_ethdev.c | 12 ++++++++++--

 1 file changed, 10 insertions(+), 2 deletions(-)



diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c

index 9d5107d..bd45445 100644

--- a/lib/librte_ethdev/rte_ethdev.c

+++ b/lib/librte_ethdev/rte_ethdev.c

@@ -3588,9 +3588,17 @@ rte_eth_dma_zone_reserve(const struct rte_eth_dev *dev, const char *ring_name,

 {

        char z_name[RTE_MEMZONE_NAMESIZE];

        const struct rte_memzone *mz;

+       int rc;



-       snprintf(z_name, sizeof(z_name), "eth_p%d_q%d_%s",

-                dev->data->port_id, queue_id, ring_name);

+       rc = snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d",

+                     dev->device->driver->name, ring_name,

+                     dev->data->port_id, queue_id);

+

+       if (rc >= RTE_MEMZONE_NAMESIZE) {

+               RTE_LOG(ERR, EAL, "%s(): truncated name\n", __func__);

+               rte_errno = ENAMETOOLONG;

+               return NULL;

+       }



        mz = rte_memzone_lookup(z_name);

        if (mz)

It is good to report an error in the case of name truncation, but the patch
does more. It changes format of the memzone name, adds the driver name
in it (what is bad since testpmd has commands to find the memzone by name
and read descriptors (hack, but sometimes very useful)).
Also I'm not sure about function name in the log message. Other places
do not have it.


More information about the dev mailing list