]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
scsi: mpt3sas: Fix double free warnings
authorSuganath Prabu S <suganath-prabu.subramani@broadcom.com>
Fri, 8 May 2020 11:07:38 +0000 (07:07 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jun 2020 15:48:43 +0000 (17:48 +0200)
[ Upstream commit cbbfdb2a2416c9f0cde913cf09670097ac281282 ]

Fix following warning from Smatch static analyser:

drivers/scsi/mpt3sas/mpt3sas_base.c:5256 _base_allocate_memory_pools()
warn: 'ioc->hpr_lookup' double freed

drivers/scsi/mpt3sas/mpt3sas_base.c:5256 _base_allocate_memory_pools()
warn: 'ioc->internal_lookup' double freed

Link: https://lore.kernel.org/r/20200508110738.30732-1-suganath-prabu.subramani@broadcom.com
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/mpt3sas/mpt3sas_base.c

index 663782bb790dc5b690672aaf2658e2fdb9e5460a..39d233262039e8954745eb109989a8017e1cd55c 100644 (file)
@@ -4915,7 +4915,9 @@ _base_release_memory_pools(struct MPT3SAS_ADAPTER *ioc)
        }
 
        kfree(ioc->hpr_lookup);
+       ioc->hpr_lookup = NULL;
        kfree(ioc->internal_lookup);
+       ioc->internal_lookup = NULL;
        if (ioc->chain_lookup) {
                for (i = 0; i < ioc->scsiio_depth; i++) {
                        for (j = ioc->chains_per_prp_buffer;