Commit 7715d5e5 authored by Yonglong Liu's avatar Yonglong Liu Committed by Hao Chen
Browse files

{topost} net: hns3: fix kernel crash when devlink reload during vf 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: cd624299 ("net: hns3: add support for registering devlink for VF")
Signed-off-by: default avatarYonglong Liu <liuyonglong@huawei.com>
parent 45e31223
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -41,8 +41,9 @@ static int hclgevf_devlink_reload_down(struct devlink *devlink,
	struct pci_dev *pdev = hdev->pdev;
	int ret;

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