The clock obtained via devm_clk_get_enabled() is automatically managed by devres and will be disabled and freed on driver detach. Manually calling clk_disable_unprepare() in error path and remove function causes double free.
Remove the redundant clk_disable_unprepare() calls from the probe error path and aml_rtc_remove(), allowing the devm framework to automatically manage the clock lifecycle.
Fixes: c89ac9182ee2 ("rtc: support for the Amlogic on-chip RTC") Signed-off-by: Haotian Zhang vulab@iscas.ac.cn --- drivers/rtc/rtc-amlogic-a4.c | 2 -- 1 file changed, 2 deletions(-)
diff --git a/drivers/rtc/rtc-amlogic-a4.c b/drivers/rtc/rtc-amlogic-a4.c index 1928b29c1045..ed36b649c057 100644 --- a/drivers/rtc/rtc-amlogic-a4.c +++ b/drivers/rtc/rtc-amlogic-a4.c @@ -390,7 +390,6 @@ static int aml_rtc_probe(struct platform_device *pdev)
return 0; err_clk: - clk_disable_unprepare(rtc->sys_clk); device_init_wakeup(dev, false);
return ret; @@ -425,7 +424,6 @@ static void aml_rtc_remove(struct platform_device *pdev) { struct aml_rtc_data *rtc = dev_get_drvdata(&pdev->dev);
- clk_disable_unprepare(rtc->sys_clk); device_init_wakeup(&pdev->dev, false); }
Hi,
Thanks for your patch.
FYI: kernel test robot notices the stable kernel rule is not satisfied.
The check is based on https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html#opti...
Rule: add the tag "Cc: stable@vger.kernel.org" in the sign-off area to have the patch automatically included in the stable tree. Subject: [PATCH] rtc: amlogic-a4: fix double free caused by devm Link: https://lore.kernel.org/stable/20251020150956.491-1-vulab%40iscas.ac.cn
Hi Haotian,
kernel test robot noticed the following build warnings:
[auto build test WARNING on abelloni/rtc-next] [also build test WARNING on linus/master v6.18-rc2 next-20251021] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Haotian-Zhang/rtc-amlogic-a4-... base: https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next patch link: https://lore.kernel.org/r/20251020150956.491-1-vulab%40iscas.ac.cn patch subject: [PATCH] rtc: amlogic-a4: fix double free caused by devm config: i386-buildonly-randconfig-002-20251021 (https://download.01.org/0day-ci/archive/20251021/202510211756.vnQ8ZIWo-lkp@i...) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251021/202510211756.vnQ8ZIWo-lkp@i...)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot lkp@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202510211756.vnQ8ZIWo-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/rtc/rtc-amlogic-a4.c:425:23: warning: unused variable 'rtc' [-Wunused-variable]
425 | struct aml_rtc_data *rtc = dev_get_drvdata(&pdev->dev); | ^~~ 1 warning generated.
vim +/rtc +425 drivers/rtc/rtc-amlogic-a4.c
c89ac9182ee297 Yiting Deng 2024-11-12 419 c89ac9182ee297 Yiting Deng 2024-11-12 420 static SIMPLE_DEV_PM_OPS(aml_rtc_pm_ops, c89ac9182ee297 Yiting Deng 2024-11-12 421 aml_rtc_suspend, aml_rtc_resume); c89ac9182ee297 Yiting Deng 2024-11-12 422 c89ac9182ee297 Yiting Deng 2024-11-12 423 static void aml_rtc_remove(struct platform_device *pdev) c89ac9182ee297 Yiting Deng 2024-11-12 424 { c89ac9182ee297 Yiting Deng 2024-11-12 @425 struct aml_rtc_data *rtc = dev_get_drvdata(&pdev->dev); c89ac9182ee297 Yiting Deng 2024-11-12 426 8c28c4993f117e Wolfram Sang 2024-12-17 427 device_init_wakeup(&pdev->dev, false); c89ac9182ee297 Yiting Deng 2024-11-12 428 } c89ac9182ee297 Yiting Deng 2024-11-12 429
linux-stable-mirror@lists.linaro.org