* [PATCH -2nd repost 1/4] SCSI: aacraid, fix memory leak
@ 2009-11-04 16:15 Jiri Slaby
2009-11-04 16:15 ` [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test Jiri Slaby
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Jiri Slaby @ 2009-11-04 16:15 UTC (permalink / raw)
To: James.Bottomley
Cc: aacraid, james.smart, linux-scsi, linux-kernel, Jiri Slaby
Stanse found a memory leak on one fail path in aac_send_raw_srb. Add kfree
there.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: James E.J. Bottomley <James.Bottomley@suse.de>
---
drivers/scsi/aacraid/commctrl.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c
index 0391d75..5c9a8be 100644
--- a/drivers/scsi/aacraid/commctrl.c
+++ b/drivers/scsi/aacraid/commctrl.c
@@ -649,6 +649,7 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg)
AAC_OPT_NEW_COMM) ?
(dev->scsi_host_ptr->max_sectors << 9) :
65536) {
+ kfree (usg);
rcode = -EINVAL;
goto cleanup;
}
--
1.6.4.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test
2009-11-04 16:15 [PATCH -2nd repost 1/4] SCSI: aacraid, fix memory leak Jiri Slaby
@ 2009-11-04 16:15 ` Jiri Slaby
2009-11-04 16:22 ` Mike Christie
2009-11-04 18:18 ` Karen Xie
2009-11-04 16:15 ` [PATCH -2nd repost 3/4] SCSI: lpfc, fix memory leak Jiri Slaby
2009-11-04 16:15 ` [PATCH -2nd repost 4/4] SCSI: scsi_lib, fix potential NULL dereference Jiri Slaby
2 siblings, 2 replies; 7+ messages in thread
From: Jiri Slaby @ 2009-11-04 16:15 UTC (permalink / raw)
To: James.Bottomley
Cc: aacraid, james.smart, linux-scsi, linux-kernel, Jiri Slaby
Stanse found that c3cn is poked many times around in
cxgb3i_conn_pdu_ready, there is no need to check if it is NULL.
Remove the test.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: James E.J. Bottomley <James.Bottomley@suse.de>
---
drivers/scsi/cxgb3i/cxgb3i_pdu.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/cxgb3i/cxgb3i_pdu.c b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
index 7091050..64bbc28 100644
--- a/drivers/scsi/cxgb3i/cxgb3i_pdu.c
+++ b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
@@ -461,10 +461,8 @@ void cxgb3i_conn_pdu_ready(struct s3_conn *c3cn)
skb = skb_peek(&c3cn->receive_queue);
}
read_unlock(&c3cn->callback_lock);
- if (c3cn) {
- c3cn->copied_seq += read;
- cxgb3i_c3cn_rx_credits(c3cn, read);
- }
+ c3cn->copied_seq += read;
+ cxgb3i_c3cn_rx_credits(c3cn, read);
conn->rxdata_octets += read;
if (err) {
--
1.6.4.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH -2nd repost 3/4] SCSI: lpfc, fix memory leak
2009-11-04 16:15 [PATCH -2nd repost 1/4] SCSI: aacraid, fix memory leak Jiri Slaby
2009-11-04 16:15 ` [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test Jiri Slaby
@ 2009-11-04 16:15 ` Jiri Slaby
2009-11-04 16:15 ` [PATCH -2nd repost 4/4] SCSI: scsi_lib, fix potential NULL dereference Jiri Slaby
2 siblings, 0 replies; 7+ messages in thread
From: Jiri Slaby @ 2009-11-04 16:15 UTC (permalink / raw)
To: James.Bottomley
Cc: aacraid, james.smart, linux-scsi, linux-kernel, Jiri Slaby
Stanse found a memory leak on one fail path in lpfc_sli4_read_rev.
Add there kfree.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: James Smart <james.smart@emulex.com>
Cc: James E.J. Bottomley <James.Bottomley@suse.de>
---
drivers/scsi/lpfc/lpfc_sli.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index 43cbe33..7750868 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -4211,6 +4211,7 @@ lpfc_sli4_read_rev(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq,
if (rc) {
dma_free_coherent(&phba->pcidev->dev, dma_size,
dmabuf->virt, dmabuf->phys);
+ kfree(dmabuf);
return -EIO;
}
--
1.6.4.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH -2nd repost 4/4] SCSI: scsi_lib, fix potential NULL dereference
2009-11-04 16:15 [PATCH -2nd repost 1/4] SCSI: aacraid, fix memory leak Jiri Slaby
2009-11-04 16:15 ` [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test Jiri Slaby
2009-11-04 16:15 ` [PATCH -2nd repost 3/4] SCSI: lpfc, fix memory leak Jiri Slaby
@ 2009-11-04 16:15 ` Jiri Slaby
2 siblings, 0 replies; 7+ messages in thread
From: Jiri Slaby @ 2009-11-04 16:15 UTC (permalink / raw)
To: James.Bottomley
Cc: aacraid, james.smart, linux-scsi, linux-kernel, Jiri Slaby
Stanse found a potential NULL dereference in scsi_kill_request.
Instead of triggering BUG() in 'if (unlikely(cmd == NULL))' branch,
the kernel will Oops earlier on cmd dereference.
Move the dereferences after the if.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: James E.J. Bottomley <James.Bottomley@suse.de>
---
drivers/scsi/scsi_lib.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index ed98279..47ee130 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1359,9 +1359,9 @@ static int scsi_lld_busy(struct request_queue *q)
static void scsi_kill_request(struct request *req, struct request_queue *q)
{
struct scsi_cmnd *cmd = req->special;
- struct scsi_device *sdev = cmd->device;
- struct scsi_target *starget = scsi_target(sdev);
- struct Scsi_Host *shost = sdev->host;
+ struct scsi_device *sdev;
+ struct scsi_target *starget;
+ struct Scsi_Host *shost;
blk_start_request(req);
@@ -1371,6 +1371,9 @@ static void scsi_kill_request(struct request *req, struct request_queue *q)
BUG();
}
+ sdev = cmd->device;
+ starget = scsi_target(sdev);
+ shost = sdev->host;
scsi_init_cmd_errh(cmd);
cmd->result = DID_NO_CONNECT << 16;
atomic_inc(&cmd->device->iorequest_cnt);
--
1.6.4.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test
2009-11-04 16:15 ` [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test Jiri Slaby
@ 2009-11-04 16:22 ` Mike Christie
2009-11-04 18:18 ` Karen Xie
1 sibling, 0 replies; 7+ messages in thread
From: Mike Christie @ 2009-11-04 16:22 UTC (permalink / raw)
To: Jiri Slaby
Cc: James.Bottomley, Karen Xie, james.smart, linux-scsi, linux-kernel
Adding Karen and removing adaptec since this is chelsio's driver.
Jiri Slaby wrote:
> Stanse found that c3cn is poked many times around in
> cxgb3i_conn_pdu_ready, there is no need to check if it is NULL.
>
> Remove the test.
>
> Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
> Cc: James E.J. Bottomley <James.Bottomley@suse.de>
> ---
> drivers/scsi/cxgb3i/cxgb3i_pdu.c | 6 ++----
> 1 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/scsi/cxgb3i/cxgb3i_pdu.c b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
> index 7091050..64bbc28 100644
> --- a/drivers/scsi/cxgb3i/cxgb3i_pdu.c
> +++ b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
> @@ -461,10 +461,8 @@ void cxgb3i_conn_pdu_ready(struct s3_conn *c3cn)
> skb = skb_peek(&c3cn->receive_queue);
> }
> read_unlock(&c3cn->callback_lock);
> - if (c3cn) {
> - c3cn->copied_seq += read;
> - cxgb3i_c3cn_rx_credits(c3cn, read);
> - }
> + c3cn->copied_seq += read;
> + cxgb3i_c3cn_rx_credits(c3cn, read);
> conn->rxdata_octets += read;
>
> if (err) {
Looks ok to me. The null check was useless since we access c3cn all over
the function and would have oopsed before we got there.
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test
2009-11-04 16:15 ` [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test Jiri Slaby
@ 2009-11-04 18:18 ` Karen Xie
2009-11-04 18:18 ` Karen Xie
1 sibling, 0 replies; 7+ messages in thread
From: Karen Xie @ 2009-11-04 18:18 UTC (permalink / raw)
To: Jiri Slaby, James.Bottomley
Cc: aacraid, james.smart, linux-scsi, linux-kernel
Yes, the check is not necessary.
Thanks,
Karen
-----Original Message-----
From: linux-scsi-owner@vger.kernel.org
[mailto:linux-scsi-owner@vger.kernel.org] On Behalf Of Jiri Slaby
Sent: Wednesday, November 04, 2009 8:15 AM
To: James.Bottomley@suse.de
Cc: aacraid@adaptec.com; james.smart@emulex.com;
linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; Jiri Slaby
Subject: [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test
Stanse found that c3cn is poked many times around in
cxgb3i_conn_pdu_ready, there is no need to check if it is NULL.
Remove the test.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: James E.J. Bottomley <James.Bottomley@suse.de>
---
drivers/scsi/cxgb3i/cxgb3i_pdu.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/cxgb3i/cxgb3i_pdu.c
b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
index 7091050..64bbc28 100644
--- a/drivers/scsi/cxgb3i/cxgb3i_pdu.c
+++ b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
@@ -461,10 +461,8 @@ void cxgb3i_conn_pdu_ready(struct s3_conn *c3cn)
skb = skb_peek(&c3cn->receive_queue);
}
read_unlock(&c3cn->callback_lock);
- if (c3cn) {
- c3cn->copied_seq += read;
- cxgb3i_c3cn_rx_credits(c3cn, read);
- }
+ c3cn->copied_seq += read;
+ cxgb3i_c3cn_rx_credits(c3cn, read);
conn->rxdata_octets += read;
if (err) {
--
1.6.4.2
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test
@ 2009-11-04 18:18 ` Karen Xie
0 siblings, 0 replies; 7+ messages in thread
From: Karen Xie @ 2009-11-04 18:18 UTC (permalink / raw)
To: Jiri Slaby, James.Bottomley
Cc: aacraid, james.smart, linux-scsi, linux-kernel
Yes, the check is not necessary.
Thanks,
Karen
-----Original Message-----
From: linux-scsi-owner@vger.kernel.org
[mailto:linux-scsi-owner@vger.kernel.org] On Behalf Of Jiri Slaby
Sent: Wednesday, November 04, 2009 8:15 AM
To: James.Bottomley@suse.de
Cc: aacraid@adaptec.com; james.smart@emulex.com;
linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; Jiri Slaby
Subject: [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test
Stanse found that c3cn is poked many times around in
cxgb3i_conn_pdu_ready, there is no need to check if it is NULL.
Remove the test.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: James E.J. Bottomley <James.Bottomley@suse.de>
---
drivers/scsi/cxgb3i/cxgb3i_pdu.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/cxgb3i/cxgb3i_pdu.c
b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
index 7091050..64bbc28 100644
--- a/drivers/scsi/cxgb3i/cxgb3i_pdu.c
+++ b/drivers/scsi/cxgb3i/cxgb3i_pdu.c
@@ -461,10 +461,8 @@ void cxgb3i_conn_pdu_ready(struct s3_conn *c3cn)
skb = skb_peek(&c3cn->receive_queue);
}
read_unlock(&c3cn->callback_lock);
- if (c3cn) {
- c3cn->copied_seq += read;
- cxgb3i_c3cn_rx_credits(c3cn, read);
- }
+ c3cn->copied_seq += read;
+ cxgb3i_c3cn_rx_credits(c3cn, read);
conn->rxdata_octets += read;
if (err) {
--
1.6.4.2
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-11-04 18:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-04 16:15 [PATCH -2nd repost 1/4] SCSI: aacraid, fix memory leak Jiri Slaby
2009-11-04 16:15 ` [PATCH -2nd repost 2/4] SCSI: remove unnecessary NULL test Jiri Slaby
2009-11-04 16:22 ` Mike Christie
2009-11-04 18:18 ` Karen Xie
2009-11-04 18:18 ` Karen Xie
2009-11-04 16:15 ` [PATCH -2nd repost 3/4] SCSI: lpfc, fix memory leak Jiri Slaby
2009-11-04 16:15 ` [PATCH -2nd repost 4/4] SCSI: scsi_lib, fix potential NULL dereference Jiri Slaby
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.