Re: [PATCH] [scsi] lpfc: potential leak in lpfc_sli_hbqbuf_fill_hbqs

From: James Smart
Date: Thu Jul 19 2007 - 13:50:20 EST


Florin,

Thanks for the effort to create this patch. Turns out we have already
fixed this, and have it included in our 8.2.2 patch set, which we will be
posting within the next week.

So James, don't pick this patch up, take the larger patch set instead.

Thanks.

-- james s

Florin Malita wrote:
If lpfc_hbq_alloc() fails, an hbq_buffer is leaked. Found by Coverity (1775).

Signed-off-by: Florin Malita <fmalita@xxxxxxxxx>
---

drivers/scsi/lpfc/lpfc_sli.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index f4d5a6b..fe16b0c 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -622,8 +622,10 @@ lpfc_sli_hbqbuf_fill_hbqs(struct lpfc_hba *phba, uint32_t hbqno, uint32_t count)
return 1;
hbq_buffer->dbuf.virt = lpfc_hbq_alloc(phba, MEM_PRI,
&hbq_buffer->dbuf.phys);
- if (hbq_buffer->dbuf.virt == NULL)
+ if (hbq_buffer->dbuf.virt == NULL) {
+ kfree(hbq_buffer);
return 1;
+ }
hbq_buffer->tag = (i | (hbqno << 16));
lpfc_sli_hbq_to_firmware(phba, hbqno, hbq_buffer);
lpfc_hbq_defs[hbqno]->buffer_count++;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/