mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
scsi: mpt3sas: Free diag buffer without any status check
[ Upstream commit 764f472ba4 ]
Memory leak can happen when diag buffer is released but not unregistered
(where buffer is deallocated) by the user. During module unload time driver
is not deallocating the buffer if the buffer is in released state.
Deallocate the diag buffer during module unload time without any diag
buffer status checks.
Link: https://lore.kernel.org/r/1568379890-18347-5-git-send-email-sreekanth.reddy@broadcom.com
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
6b8fbd9b2d
commit
e14f1f8f1b
@@ -3717,12 +3717,6 @@ mpt3sas_ctl_exit(ushort hbas_to_enumerate)
|
||||
for (i = 0; i < MPI2_DIAG_BUF_TYPE_COUNT; i++) {
|
||||
if (!ioc->diag_buffer[i])
|
||||
continue;
|
||||
if (!(ioc->diag_buffer_status[i] &
|
||||
MPT3_DIAG_BUFFER_IS_REGISTERED))
|
||||
continue;
|
||||
if ((ioc->diag_buffer_status[i] &
|
||||
MPT3_DIAG_BUFFER_IS_RELEASED))
|
||||
continue;
|
||||
dma_free_coherent(&ioc->pdev->dev,
|
||||
ioc->diag_buffer_sz[i],
|
||||
ioc->diag_buffer[i],
|
||||
|
||||
Reference in New Issue
Block a user