mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-12 08:48:48 +00:00
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: Stefan Weil <weil@mail.berlios.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
889635fd6b
commit
2a1bc0d56b
@ -2944,8 +2944,8 @@ static int __devexit davinci_emac_remove(struct platform_device *pdev)
|
|||||||
release_mem_region(res->start, res->end - res->start + 1);
|
release_mem_region(res->start, res->end - res->start + 1);
|
||||||
|
|
||||||
unregister_netdev(ndev);
|
unregister_netdev(ndev);
|
||||||
free_netdev(ndev);
|
|
||||||
iounmap(priv->remap_addr);
|
iounmap(priv->remap_addr);
|
||||||
|
free_netdev(ndev);
|
||||||
|
|
||||||
clk_disable(emac_clk);
|
clk_disable(emac_clk);
|
||||||
clk_put(emac_clk);
|
clk_put(emac_clk);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user