mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 02:55:42 +07:00
iwlwifi: pcie: fix context info memory leak
[ Upstream commit 2d6bc752cc2806366d9a4fd577b3f6c1f7a7e04e ] If the image loader allocation fails, we leak all the previously allocated memory. Fix this. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/iwlwifi.20210115130252.97172cbaa67c.I3473233d0ad01a71aa9400832fb2b9f494d88a11@changeid Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
fbdf0bf97c
commit
05132a72cc
@ -245,8 +245,10 @@ int iwl_pcie_ctxt_info_gen3_init(struct iwl_trans *trans,
|
|||||||
/* Allocate IML */
|
/* Allocate IML */
|
||||||
iml_img = dma_alloc_coherent(trans->dev, trans->iml_len,
|
iml_img = dma_alloc_coherent(trans->dev, trans->iml_len,
|
||||||
&trans_pcie->iml_dma_addr, GFP_KERNEL);
|
&trans_pcie->iml_dma_addr, GFP_KERNEL);
|
||||||
if (!iml_img)
|
if (!iml_img) {
|
||||||
return -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
goto err_free_ctxt_info;
|
||||||
|
}
|
||||||
|
|
||||||
memcpy(iml_img, trans->iml, trans->iml_len);
|
memcpy(iml_img, trans->iml, trans->iml_len);
|
||||||
|
|
||||||
@ -284,6 +286,11 @@ int iwl_pcie_ctxt_info_gen3_init(struct iwl_trans *trans,
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err_free_ctxt_info:
|
||||||
|
dma_free_coherent(trans->dev, sizeof(*trans_pcie->ctxt_info_gen3),
|
||||||
|
trans_pcie->ctxt_info_gen3,
|
||||||
|
trans_pcie->ctxt_info_dma_addr);
|
||||||
|
trans_pcie->ctxt_info_gen3 = NULL;
|
||||||
err_free_prph_info:
|
err_free_prph_info:
|
||||||
dma_free_coherent(trans->dev,
|
dma_free_coherent(trans->dev,
|
||||||
sizeof(*prph_info),
|
sizeof(*prph_info),
|
||||||
|
Loading…
Reference in New Issue
Block a user