scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
[ Upstream commitfda34a5d30] If hpsa_sas_port_add_rphy() returns an error, the 'rphy' allocated in sas_end_device_alloc() needs to be freed. Address this by calling sas_rphy_free() in the error path. Fixes:d04e62b9d6("hpsa: add in sas transport class") Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Link: https://lore.kernel.org/r/20221111043012.1074466-1-yangyingliang@huawei.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
f671a3f286
commit
ac5cfe8bbb
+3
-1
@@ -9801,10 +9801,12 @@ static int hpsa_add_sas_device(struct hpsa_sas_node *hpsa_sas_node,
|
|||||||
|
|
||||||
rc = hpsa_sas_port_add_rphy(hpsa_sas_port, rphy);
|
rc = hpsa_sas_port_add_rphy(hpsa_sas_port, rphy);
|
||||||
if (rc)
|
if (rc)
|
||||||
goto free_sas_port;
|
goto free_sas_rphy;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
free_sas_rphy:
|
||||||
|
sas_rphy_free(rphy);
|
||||||
free_sas_port:
|
free_sas_port:
|
||||||
hpsa_free_sas_port(hpsa_sas_port);
|
hpsa_free_sas_port(hpsa_sas_port);
|
||||||
device->sas_port = NULL;
|
device->sas_port = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user