scsi: hpsa: Fix potential memory leak in hpsa_big_passthru_ioctl()
Replace kmalloc() followed by copy_from_user() with memdup_user() to fix a memory leak that occurs when copy_from_user(buff[sg_used],,) fails and the 'cleanup1:' path does not free the memory for 'buff[sg_used]'. Using memdup_user() avoids this by freeing the memory internally. Since memdup_user() already allocates memory, use kzalloc() in the else branch instead of manually zeroing 'buff[sg_used]' using memset(0). Cc: stable@vger.kernel.org Fixes: edd16368 ("[SCSI] hpsa: add driver for HP Smart Array controllers.") Signed-off-by:Thorsten Blum <thorsten.blum@linux.dev> Acked-by:
Don Brace <don.brace@microchip.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com>
Loading