Hi David, > Looking at bsd implementation, we can see that there is a potential mem > leak in linux implementation. Fix this. > > Signed-off-by: David Marchand <david.marchand at 6wind.com> > --- > lib/librte_eal/linuxapp/eal/eal_pci.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c > b/lib/librte_eal/linuxapp/eal/eal_pci.c > index 9538efe..313bab7 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_pci.c > +++ b/lib/librte_eal/linuxapp/eal/eal_pci.c > @@ -678,6 +678,7 @@ pci_uio_map_resource(struct rte_pci_device *dev) > (mapaddr = pci_map_resource(dev, > NULL, devname, (off_t)offset, > (size_t)maps[j].size)) == NULL) { > + rte_free(uio_res); > return (-1); > } > > -- > 1.7.10.4
Actually, there's another possible mem leak, right after uio_res = rte_zmalloc(): /* collect info about device mappings */ if ((nb_maps = pci_uio_get_mappings(dirname, uio_res->maps, sizeof (uio_res->maps) / sizeof (uio_res->maps[0]))) < 0) return (nb_maps); Best regards, Anatoly Burakov DPDK SW Engineer -------------------------------------------------------------- Intel Shannon Limited Registered in Ireland Registered Office: Collinstown Industrial Park, Leixlip, County Kildare Registered Number: 308263 Business address: Dromore House, East Park, Shannon, Co. Clare