mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-22 17:33:01 +00:00
net/cxgb4: Fix referencing freed adapter
The adapter is freed before we check its flags. It was caused by commit144be3d
("net/cxgb4: Avoid disabling PCI device for towice"). The problem was reported by Intel's "0-day" tool. The patch fixes it to avoid reverting commit144be3d
. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
33d99113b1
commit
8b662fe70c
@ -6163,13 +6163,13 @@ static void remove_one(struct pci_dev *pdev)
|
|||||||
iounmap(adapter->regs);
|
iounmap(adapter->regs);
|
||||||
if (!is_t4(adapter->params.chip))
|
if (!is_t4(adapter->params.chip))
|
||||||
iounmap(adapter->bar2);
|
iounmap(adapter->bar2);
|
||||||
kfree(adapter);
|
|
||||||
pci_disable_pcie_error_reporting(pdev);
|
pci_disable_pcie_error_reporting(pdev);
|
||||||
if ((adapter->flags & DEV_ENABLED)) {
|
if ((adapter->flags & DEV_ENABLED)) {
|
||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
adapter->flags &= ~DEV_ENABLED;
|
adapter->flags &= ~DEV_ENABLED;
|
||||||
}
|
}
|
||||||
pci_release_regions(pdev);
|
pci_release_regions(pdev);
|
||||||
|
kfree(adapter);
|
||||||
} else
|
} else
|
||||||
pci_release_regions(pdev);
|
pci_release_regions(pdev);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user