[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120517071120.GG14660@elgon.mountain>
Date: Thu, 17 May 2012 10:11:20 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: Ravi Anand <ravi.anand@...gic.com>
Cc: Vikas Chaudhary <vikas.chaudhary@...gic.com>,
iscsi-driver@...gic.com,
"James E.J. Bottomley" <JBottomley@...allels.com>,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel-janitors@...r.kernel.org
Subject: [patch] [SCSI] qla4xxx: don't free pool that wasn't allocated
In the original code if dma_pool_alloc() fails then we call
dma_pool_free(). The problem is that "chap_table" is NULL and
"chap_dma" is uninitialized so it will cause an error.
Signed-off-by: Dan Carpenter <dan.carpenter@...cle.com>
diff --git a/drivers/scsi/qla4xxx/ql4_mbx.c b/drivers/scsi/qla4xxx/ql4_mbx.c
index 7ac21da..21dce92 100644
--- a/drivers/scsi/qla4xxx/ql4_mbx.c
+++ b/drivers/scsi/qla4xxx/ql4_mbx.c
@@ -1329,10 +1329,8 @@ int qla4xxx_get_chap(struct scsi_qla_host *ha, char *username, char *password,
dma_addr_t chap_dma;
chap_table = dma_pool_alloc(ha->chap_dma_pool, GFP_KERNEL, &chap_dma);
- if (chap_table == NULL) {
- ret = -ENOMEM;
- goto exit_get_chap;
- }
+ if (chap_table == NULL)
+ return -ENOMEM;
chap_size = sizeof(struct ql4_chap_table);
memset(chap_table, 0, chap_size);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists