From: Peiyang Wang wangpeiyang1@huawei.com
mainline inclusion from mainline-v6.9-rc4 commit 950aa42399893a170d9b57eda0e4a3ff91fd8b70 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9U3H2 CVE: CVE-2024-36900
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
----------------------------------------------------
During the PF initialization process, hclge_update_port_info may return an error code for some reason. At this point, the ptp initialization has been completed. To void memory leaks, the resources that are applied by ptp should be released. Therefore, when hclge_update_port_info returns an error code, hclge_ptp_uninit is called to release the corresponding resources.
Fixes: eaf83ae59e18 ("net: hns3: add querying fec ability from firmware") Signed-off-by: Peiyang Wang wangpeiyang1@huawei.com Signed-off-by: Jijie Shao shaojijie@huawei.com Reviewed-by: Hariprasad Kelam hkelam@marvell.com Signed-off-by: Paolo Abeni pabeni@redhat.com Signed-off-by: chenyi chenyi211@huawei.com Conflicts: drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c [fix context diff] Signed-off-by: Ye Bin yebin10@huawei.com --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index af366b9e6b7f..608019d1d2bc 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -12383,7 +12383,7 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev *ae_dev)
ret = hclge_update_port_info(hdev); if (ret) - goto err_sysfs_unregister; + goto err_ptp_uninit;
INIT_KFIFO(hdev->mac_tnl_log);
@@ -12433,6 +12433,8 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev *ae_dev)
return 0;
+err_ptp_uninit: + hclge_ptp_uninit(hdev); err_sysfs_unregister: hclge_unregister_sysfs(hdev); err_mdiobus_unreg: