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);
|
||||
|
||||
unregister_netdev(ndev);
|
||||
free_netdev(ndev);
|
||||
iounmap(priv->remap_addr);
|
||||
free_netdev(ndev);
|
||||
|
||||
clk_disable(emac_clk);
|
||||
clk_put(emac_clk);
|
||||
|
|
Loading…
Reference in a new issue