Re: [Bugme-new] [Bug 12087] New: [drivers/net/cxgb3/sge.c:563]: Possible memory leak: s
From: Jay Cliburn <hidden>
Date: 2008-11-23 11:40:23
[adding cxgb3 maintainer to cc list] On Sat, 22 Nov 2008 21:35:32 -0800 Andrew Morton [off-list ref] wrote:
(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface). On Sat, 22 Nov 2008 21:11:51 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote:quoted
http://bugzilla.kernel.org/show_bug.cgi?id=12087 Summary: [drivers/net/cxgb3/sge.c:563]: Possible memory leak: s Product: Drivers Version: 2.5 KernelVersion: latest git tree Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Network AssignedTo: jgarzik@pobox.com ReportedBy: danielm77@spray.se There will be a memory leak in the function alloc_ring when the parameter sw_size is nonzero and metadata is NULL. I don't know if that can happen. Here is the code, taken from the latest git tree. static void *alloc_ring(struct pci_dev *pdev, size_t nelem, size_t elem_size, size_t sw_size, dma_addr_t * phys, void *metadata) { size_t len = nelem * elem_size; void *s = NULL; void *p = dma_alloc_coherent(&pdev->dev, len, phys, GFP_KERNEL); if (!p) return NULL; if (sw_size) { s = kcalloc(nelem, sw_size, GFP_KERNEL); if (!s) { dma_free_coherent(&pdev->dev, len, p, *phys); return NULL; } } if (metadata) *(void **)metadata = s; memset(p, 0, len); return p; }yeah, that is a bit silly-looking. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html