[ldv-project] [PATCH] pxa168: fix double deallocation of managed resources

David Miller davem at davemloft.net
Sun Apr 26 23:06:27 MSK 2015


From: Alexey Khoroshilov <khoroshilov at ispras.ru>
Date: Sat, 25 Apr 2015 04:07:03 +0300

> Commit 43d3ddf87a57 ("net: pxa168_eth: add device tree support") starts
> to use managed resources by adding devm_clk_get() and
> devm_ioremap_resource(), but it leaves explicit iounmap() and clock_put()
> in pxa168_eth_remove() and in failure handling code of pxa168_eth_probe().
> As a result double free can happen.
> 
> The patch removes explicit resource deallocation. Also it converts
> clk_disable() to clk_disable_unprepare() to make it symmetrical with
> clk_prepare_enable().
> 
> Found by Linux Driver Verification project (linuxtesting.org).
> 
> Signed-off-by: Alexey Khoroshilov <khoroshilov at ispras.ru>

Applied and queued up for -stable, thanks.

I find this patch _extremely_ amusing, as it shows that that these
managed interfaces can be just as error prone to use as the
non-managed ones. :-)



More information about the ldv-project mailing list