net/phy/fixed.c: fix a use-after-free
This patch fixes a use-after-free introduced by commit a79d8e93d300adb84cccc38ac396cfb118c238ad and spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
@ -236,12 +236,12 @@ module_init(fixed_mdio_bus_init);
|
|||||||
static void __exit fixed_mdio_bus_exit(void)
|
static void __exit fixed_mdio_bus_exit(void)
|
||||||
{
|
{
|
||||||
struct fixed_mdio_bus *fmb = &platform_fmb;
|
struct fixed_mdio_bus *fmb = &platform_fmb;
|
||||||
struct fixed_phy *fp;
|
struct fixed_phy *fp, *tmp;
|
||||||
|
|
||||||
mdiobus_unregister(&fmb->mii_bus);
|
mdiobus_unregister(&fmb->mii_bus);
|
||||||
platform_device_unregister(pdev);
|
platform_device_unregister(pdev);
|
||||||
|
|
||||||
list_for_each_entry(fp, &fmb->phys, node) {
|
list_for_each_entry_safe(fp, tmp, &fmb->phys, node) {
|
||||||
list_del(&fp->node);
|
list_del(&fp->node);
|
||||||
kfree(fp);
|
kfree(fp);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user