From: Devendra Naga Date: Wed, 11 Jul 2012 21:01:53 +0000 (-0700) Subject: drivers/rtc/rtc-spear.c: fix use-after-free in spear_rtc_remove() X-Git-Tag: Ubuntu-5.2.0-15.16~17670^2~30 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=2a643893e50fde71d7ba84b5592ec61b467b9ab6;p=mirror_ubuntu-eoan-kernel.git 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 Reviewed-by: Viresh Kumar Cc: Alessandro Zummo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- 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; }