Commit 45e31223 authored by Yonglong Liu's avatar Yonglong Liu Committed by Hao Chen
Browse files

{topost} net: hns3: fix kernel crash when devlink reload during pf initialization

driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I9SQ3Q


CVE: NA

----------------------------------------------------------------------

The devlink reload process will access the hardware resources,
but the register operation is before the hardware initialize
done, so, if process the devlink reload during initializetion,
may lead the kernel crash. This patch check whether the NIC is
initialized to fix the problem.

Fixes: b741269b ("net: hns3: add support for registering devlink for PF")
Signed-off-by: default avatarYonglong Liu <liuyonglong@huawei.com>
parent 5a6a4ae9
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -78,8 +78,9 @@ static int hclge_devlink_reload_down(struct devlink *devlink, bool netns_change,
	struct pci_dev *pdev = hdev->pdev;
	int ret;

	if (test_bit(HCLGE_STATE_RST_HANDLING, &hdev->state)) {
		dev_err(&pdev->dev, "reset is handling\n");
	if (test_bit(HCLGE_STATE_RST_HANDLING, &hdev->state) ||
	    !test_bit(HCLGE_STATE_NIC_REGISTERED, &hdev->state)) {
		dev_err(&pdev->dev, "reset is handling or driver removed\n");
		return -EBUSY;
	}