Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d94d5de5 authored by Vladimir Kondratiev's avatar Vladimir Kondratiev Committed by Ian Maund
Browse files

wil6210: fix access after free in wil_pcie_remove()



'wil'  released in wil_if_free(); save iomapped address aside to
properly unmap it.

Change-Id: I8ed6ed0f34f273b6e6eda58ca28d8e698264befa
Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
Git-commit: 560ce3087292603dafb2603ee12cab0ff6c20aee
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git


Signed-off-by: default avatarHamad Kadmany <hkadmany@codeaurora.org>
parent 4885b3b3
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -220,12 +220,13 @@ static int wil_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id)
static void wil_pcie_remove(struct pci_dev *pdev)
{
	struct wil6210_priv *wil = pci_get_drvdata(pdev);
	void __iomem *csr = wil->csr;

	wil6210_debugfs_remove(wil);
	wil_if_pcie_disable(wil);
	wil_if_remove(wil);
	wil_if_free(wil);
	pci_iounmap(pdev, wil->csr);
	pci_iounmap(pdev, csr);
	pci_release_region(pdev, 0);
	pci_disable_device(pdev);
}