On Mon, 7 Jan 2019 17:47:08 +0300
Andrew Rybchenko <arybche...@solarflare.com> wrote:

> On 1/7/19 5:40 PM, Nithin Kumar Dabilpuram wrote:
> > Signed-off-by: Nithin Dabilpuram <ndabilpu...@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.
> 

Maybe MEMZONE_NAMESIZE should be big enough that this should never happen?
The size is arbitrary anyway.

Reply via email to