[PATCH 4.4 069/192] [PATCH 072/135] mpt3sas: A correction in unmap_resources

From: Greg Kroah-Hartman
Date: Mon Sep 12 2016 - 13:10:44 EST


4.4-stable review patch. If anyone has any objections, please let me know.

------------------

[ Upstream commit 5f985d88bac34e7f3b4403118eab072902a0b392 ]

It might happen that we try to free an already freed pointer.

Reported-by: Maurizio Lombardi <mlombard@xxxxxxxxxx>
Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx>
Acked-by: Chaitra P B <chaitra.basappa@xxxxxxxxxxxxx>
Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/scsi/mpt3sas/mpt3sas_base.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -2020,8 +2020,10 @@ mpt3sas_base_unmap_resources(struct MPT3
_base_free_irq(ioc);
_base_disable_msix(ioc);

- if (ioc->msix96_vector)
+ if (ioc->msix96_vector) {
kfree(ioc->replyPostRegisterIndex);
+ ioc->replyPostRegisterIndex = NULL;
+ }

if (ioc->chip_phys) {
iounmap(ioc->chip);