USB: EHCI: tegra: Fix use-after-free in .remove()

The tegra_ehci_hcd structure is located in the private space allocated
by the core USB code so it must not be accessed after the HCD is
freed.

Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Tuomas Tynkkynen 2014-06-17 17:17:40 +03:00 коммит произвёл Greg Kroah-Hartman
Родитель 6e693739e9
Коммит 6a70b62122
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -479,10 +479,11 @@ static int tegra_ehci_remove(struct platform_device *pdev)
usb_phy_shutdown(hcd->phy); usb_phy_shutdown(hcd->phy);
usb_remove_hcd(hcd); usb_remove_hcd(hcd);
usb_put_hcd(hcd);
clk_disable_unprepare(tegra->clk); clk_disable_unprepare(tegra->clk);
usb_put_hcd(hcd);
return 0; return 0;
} }