aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2014-06-03 16:55:36 +1000
committercstl-robot <robot@ibm.com>2014-06-03 15:41:43 +0800
commit71ca6744e118d6850bf47f58e872900f5f47b9ee (patch)
tree60fcf5d1fd63fd2dd5df62cba294fd2c83b0a730
parent347b0c20f4f655b892f328635f3426f3e73ba241 (diff)
downloadpowerkvm.tar.gz
net/cxgb4: Fix referencing freed adapterHEADpowerkvmmaster
The adapter is freed before we check its flags. It was caused by commit 144be3d ("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 commit 144be3d. It's responsing to bug#110450. Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index 0cb5733cb82793..6ca885adc05e30 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -5834,7 +5834,6 @@ static void remove_one(struct pci_dev *pdev)
iounmap(adapter->regs);
if (!is_t4(adapter->chip))
iounmap(adapter->bar2);
- kfree(adapter);
pci_disable_pcie_error_reporting(pdev);
if ((adapter->flags & DEV_ENABLED)) {
pci_disable_device(pdev);
@@ -5842,6 +5841,7 @@ static void remove_one(struct pci_dev *pdev)
}
pci_release_regions(pdev);
pci_set_drvdata(pdev, NULL);
+ kfree(adapter);
} else
pci_release_regions(pdev);
}