2008-11-26 20:39:13

by Divy Le ray

[permalink] [raw]
Subject: [PATCH 2/4 2.6.29] cxgb3 - avoid potential memory leak.

From: Divy Le Ray <[email protected]>

Add consistency in alloc_ring() parameter checking
to avoid potential memory leaks.
alloc_ring() callers are correct fo far.

Signed-off-by: Divy Le Ray <[email protected]>
---

drivers/net/cxgb3/sge.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
index 268f158..bc6a8dc 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -549,16 +549,15 @@ static void *alloc_ring(struct pci_dev *pdev, size_t nelem, size_t elem_size,

if (!p)
return NULL;
- if (sw_size) {
+ if (sw_size && metadata) {
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;
}


2008-11-26 23:36:23

by David Miller

[permalink] [raw]
Subject: Re: [PATCH 2/4 2.6.29] cxgb3 - avoid potential memory leak.

From: Divy Le Ray <[email protected]>
Date: Wed, 26 Nov 2008 12:38:20 -0800

> From: Divy Le Ray <[email protected]>
>
> Add consistency in alloc_ring() parameter checking
> to avoid potential memory leaks.
> alloc_ring() callers are correct fo far.
>
> Signed-off-by: Divy Le Ray <[email protected]>

Applied.