Re: [PATCH] megaraid_sas: fix memory leak if SGL has zero length entries

2013-06-29 Thread Bjørn Mork
Bjørn Mork bj...@mork.no writes:

 commit 98cb7e44 ([SCSI] megaraid_sas: Sanity check user
 supplied length before passing it to dma_alloc_coherent())
 introduced a memory leak.  Memory allocated for entries
 following zero length SGL entries will not be freed.

 Reference: http://bugs.debian.org/688198
 Cc: sta...@vger.kernel.org
 Signed-off-by: Bjørn Mork bj...@mork.no
 ---
  drivers/scsi/megaraid/megaraid_sas_base.c |   10 ++
  1 file changed, 6 insertions(+), 4 deletions(-)

 diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c 
 b/drivers/scsi/megaraid/megaraid_sas_base.c
 index d2c5366..12b6be4 100644
 --- a/drivers/scsi/megaraid/megaraid_sas_base.c
 +++ b/drivers/scsi/megaraid/megaraid_sas_base.c
 @@ -4854,10 +4854,12 @@ megasas_mgmt_fw_ioctl(struct megasas_instance 
 *instance,
   sense, sense_handle);
   }
  
 - for (i = 0; i  ioc-sge_count  kbuff_arr[i]; i++) {
 - dma_free_coherent(instance-pdev-dev,
 - kern_sge32[i].length,
 - kbuff_arr[i], kern_sge32[i].phys_addr);
 + for (i = 0; i  ioc-sge_count; i++) {
 + if (kbuff_arr[i])
 + dma_free_coherent(instance-pdev-dev,
 +   kern_sge32[i].length,
 +   kbuff_arr[i],
 +   kern_sge32[i].phys_addr);
   }
  
   megasas_return_cmd(instance, cmd);


This patch was acked by Adam Radford 4 Dec 2012:
http://permalink.gmane.org/gmane.linux.kernel.stable/36537
but it looks like it got lost somewhere after that.

Please let me know asap if it should be resent.  I'm otherwise going to
clean it out of my todo queue.


Bjørn
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] megaraid_sas: fix memory leak if SGL has zero length entries

2012-12-03 Thread adam radford
On Wed, Nov 21, 2012 at 12:54 AM, Bjørn Mork bj...@mork.no wrote:
 commit 98cb7e44 ([SCSI] megaraid_sas: Sanity check user
 supplied length before passing it to dma_alloc_coherent())
 introduced a memory leak.  Memory allocated for entries
 following zero length SGL entries will not be freed.

 Reference: http://bugs.debian.org/688198
 Cc: sta...@vger.kernel.org
 Signed-off-by: Bjørn Mork bj...@mork.no
 ---
  drivers/scsi/megaraid/megaraid_sas_base.c |   10 ++
  1 file changed, 6 insertions(+), 4 deletions(-)

 diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c 
 b/drivers/scsi/megaraid/megaraid_sas_base.c
 index d2c5366..12b6be4 100644
 --- a/drivers/scsi/megaraid/megaraid_sas_base.c
 +++ b/drivers/scsi/megaraid/megaraid_sas_base.c
 @@ -4854,10 +4854,12 @@ megasas_mgmt_fw_ioctl(struct megasas_instance 
 *instance,
 sense, sense_handle);
 }

 -   for (i = 0; i  ioc-sge_count  kbuff_arr[i]; i++) {
 -   dma_free_coherent(instance-pdev-dev,
 -   kern_sge32[i].length,
 -   kbuff_arr[i], kern_sge32[i].phys_addr);
 +   for (i = 0; i  ioc-sge_count; i++) {
 +   if (kbuff_arr[i])
 +   dma_free_coherent(instance-pdev-dev,
 + kern_sge32[i].length,
 + kbuff_arr[i],
 + kern_sge32[i].phys_addr);
 }

 megasas_return_cmd(instance, cmd);

Acked-by: Adam Radford aradf...@gmail.com
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] megaraid_sas: fix memory leak if SGL has zero length entries

2012-11-21 Thread Bjørn Mork
commit 98cb7e44 ([SCSI] megaraid_sas: Sanity check user
supplied length before passing it to dma_alloc_coherent())
introduced a memory leak.  Memory allocated for entries
following zero length SGL entries will not be freed.

Reference: http://bugs.debian.org/688198
Cc: sta...@vger.kernel.org
Signed-off-by: Bjørn Mork bj...@mork.no
---
 drivers/scsi/megaraid/megaraid_sas_base.c |   10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c 
b/drivers/scsi/megaraid/megaraid_sas_base.c
index d2c5366..12b6be4 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -4854,10 +4854,12 @@ megasas_mgmt_fw_ioctl(struct megasas_instance *instance,
sense, sense_handle);
}
 
-   for (i = 0; i  ioc-sge_count  kbuff_arr[i]; i++) {
-   dma_free_coherent(instance-pdev-dev,
-   kern_sge32[i].length,
-   kbuff_arr[i], kern_sge32[i].phys_addr);
+   for (i = 0; i  ioc-sge_count; i++) {
+   if (kbuff_arr[i])
+   dma_free_coherent(instance-pdev-dev,
+ kern_sge32[i].length,
+ kbuff_arr[i],
+ kern_sge32[i].phys_addr);
}
 
megasas_return_cmd(instance, cmd);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html