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

Commit 2a1bc0d5 authored by Stefan Weil's avatar Stefan Weil Committed by David S. Miller
Browse files

davinci_emac: Fix use after free in davinci_emac_remove



free_netdev finally calls kfree which makes the contents
of ndev and priv (private data contained in ndev) invalid.

So iounmap should be called before free_netdev.

Cc: David S. Miller <davem@davemloft.net>
Cc: Chaithrika U S <chaithrika@ti.com>
Cc: Sriramakrishnan <srk@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: default avatarStefan Weil <weil@mail.berlios.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 889635fd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2944,8 +2944,8 @@ static int __devexit davinci_emac_remove(struct platform_device *pdev)
	release_mem_region(res->start, res->end - res->start + 1);

	unregister_netdev(ndev);
	free_netdev(ndev);
	iounmap(priv->remap_addr);
	free_netdev(ndev);

	clk_disable(emac_clk);
	clk_put(emac_clk);