linux/drivers/scsi/smartpqi
Zilin Guan e5579ebaad scsi: smartpqi: Fix memory leak in pqi_report_phys_luns()
[ Upstream commit 41b37312bd ]

pqi_report_phys_luns() fails to release the rpl_list buffer when
encountering an unsupported data format or when the allocation for
rpl_16byte_wwid_list fails. These early returns bypass the cleanup logic,
leading to memory leaks.

Consolidate the error handling by adding an out_free_rpl_list label and use
goto statements to ensure rpl_list is consistently freed on failure.

Compile tested only. Issue found using a prototype static analysis tool and
code review.

Fixes: 28ca6d876c ("scsi: smartpqi: Add extended report physical LUNs")
Signed-off-by: Zilin Guan <zilin@seu.edu.cn>
Tested-by: Don Brace <don.brace@microchip.com>
Acked-by: Don Brace <don.brace@microchip.com>
Link: https://patch.msgid.link/20260131093641.1008117-1-zilin@seu.edu.cn
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-02-26 14:59:27 -08:00
..
Kconfig scsi: smartpqi: Update copyright to 2023 2023-05-08 07:17:12 -04:00
Makefile scsi: smartpqi: add spdx 2019-03-18 16:48:28 -04:00
smartpqi.h scsi: smartpqi: add counter for parity write stream requests 2024-08-28 22:10:34 -04:00
smartpqi_init.c scsi: smartpqi: Fix memory leak in pqi_report_phys_luns() 2026-02-26 14:59:27 -08:00
smartpqi_sas_transport.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
smartpqi_sis.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
smartpqi_sis.h scsi: smartpqi: Add fw log to kdump 2024-08-28 22:10:34 -04:00