diff options
| author | Devendra Naga <devendra.aaru@gmail.com> | 2012-07-12 01:01:53 +0400 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-12 03:04:41 +0400 | 
| commit | 2a643893e50fde71d7ba84b5592ec61b467b9ab6 (patch) | |
| tree | c54f5b1ea25bf34d9e8228dac76f8f72344e02ee | |
| parent | d8adde17e5f858427504725218c56aef90e90fc7 (diff) | |
| download | linux-2a643893e50fde71d7ba84b5592ec61b467b9ab6.tar.xz | |
drivers/rtc/rtc-spear.c: fix use-after-free in spear_rtc_remove()
`config' is freed and is then used in the rtc_device_unregister() call,
causing a kernel panic.
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Reviewed-by: Viresh Kumar <viresh.linux@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| -rw-r--r-- | drivers/rtc/rtc-spear.c | 2 | 
1 files changed, 1 insertions, 1 deletions
| diff --git a/drivers/rtc/rtc-spear.c b/drivers/rtc/rtc-spear.c index 1f76320e545b..e2785479113c 100644 --- a/drivers/rtc/rtc-spear.c +++ b/drivers/rtc/rtc-spear.c @@ -458,12 +458,12 @@ static int __devexit spear_rtc_remove(struct platform_device *pdev)  	clk_disable(config->clk);  	clk_put(config->clk);  	iounmap(config->ioaddr); -	kfree(config);  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);  	if (res)  		release_mem_region(res->start, resource_size(res));  	platform_set_drvdata(pdev, NULL);  	rtc_device_unregister(config->rtc); +	kfree(config);  	return 0;  } | 
