Commit f18e4f63 authored by Yonglong Liu's avatar Yonglong Liu Committed by Jiantao Xiao
Browse files

net: hns3: fix kernel crash when devlink reload during vf initialization

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


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: c3141771 ("net: hns3: add support for registering devlink for VF")
Signed-off-by: default avatarYonglong Liu <liuyonglong@huawei.com>
parent 7319a24d
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -46,8 +46,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;
	}