* [PATCH v2 1/6] clk: mediatek: mt2712: fix memory leak on module removal
2026-07-07 7:48 [PATCH v2 0/6] clk: mediatek: fix memory leak on module removal Akari Tsuyukusa
@ 2026-07-07 7:48 ` Akari Tsuyukusa
2026-07-07 14:47 ` Brian Masney
2026-07-07 7:48 ` [PATCH v2 2/6] clk: mediatek: mt6795: " Akari Tsuyukusa
` (4 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Akari Tsuyukusa @ 2026-07-07 7:48 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen, Akari Tsuyukusa
clk_mt2712_apmixed_probe() in clk-mt2712-apmixedsys.c does not call
platform_set_drvdata(), but clk_mt2712_apmixed_remove() callback calls
platform_get_drvdata().
This results in platform_get_drvdata() returning NULL, which leads to
calling kfree(NULL) in mtk_free_clk_data(NULL).
This leaves clk_data unreleased, causing a memory leak.
Fix this by calling platform_set_drvdata() during probe.
Fixes: c6368ce86435 ("clk: mediatek: mt2712-apmixedsys: Add .remove() callback for module build")
Cc: stable@vger.kernel.org
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
---
drivers/clk/mediatek/clk-mt2712-apmixedsys.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/clk/mediatek/clk-mt2712-apmixedsys.c b/drivers/clk/mediatek/clk-mt2712-apmixedsys.c
index 54b18e9f83f8..087cf574bcdc 100644
--- a/drivers/clk/mediatek/clk-mt2712-apmixedsys.c
+++ b/drivers/clk/mediatek/clk-mt2712-apmixedsys.c
@@ -129,6 +129,8 @@ static int clk_mt2712_apmixed_probe(struct platform_device *pdev)
goto unregister_plls;
}
+ platform_set_drvdata(pdev, clk_data);
+
return 0;
unregister_plls:
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v2 1/6] clk: mediatek: mt2712: fix memory leak on module removal
2026-07-07 7:48 ` [PATCH v2 1/6] clk: mediatek: mt2712: " Akari Tsuyukusa
@ 2026-07-07 14:47 ` Brian Masney
0 siblings, 0 replies; 15+ messages in thread
From: Brian Masney @ 2026-07-07 14:47 UTC (permalink / raw)
To: Akari Tsuyukusa
Cc: Michael Turquette, Stephen Boyd, Matthias Brugger,
AngeloGioacchino Del Regno, open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen
On Tue, Jul 07, 2026 at 04:48:30PM +0900, Akari Tsuyukusa wrote:
> clk_mt2712_apmixed_probe() in clk-mt2712-apmixedsys.c does not call
> platform_set_drvdata(), but clk_mt2712_apmixed_remove() callback calls
> platform_get_drvdata().
> This results in platform_get_drvdata() returning NULL, which leads to
> calling kfree(NULL) in mtk_free_clk_data(NULL).
> This leaves clk_data unreleased, causing a memory leak.
>
> Fix this by calling platform_set_drvdata() during probe.
>
> Fixes: c6368ce86435 ("clk: mediatek: mt2712-apmixedsys: Add .remove() callback for module build")
> Cc: stable@vger.kernel.org
> Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 2/6] clk: mediatek: mt6795: fix memory leak on module removal
2026-07-07 7:48 [PATCH v2 0/6] clk: mediatek: fix memory leak on module removal Akari Tsuyukusa
2026-07-07 7:48 ` [PATCH v2 1/6] clk: mediatek: mt2712: " Akari Tsuyukusa
@ 2026-07-07 7:48 ` Akari Tsuyukusa
2026-07-07 14:47 ` Brian Masney
2026-07-07 7:48 ` [PATCH v2 3/6] clk: mediatek: mt7622: " Akari Tsuyukusa
` (3 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Akari Tsuyukusa @ 2026-07-07 7:48 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney, Matthias Brugger,
AngeloGioacchino Del Regno, Chen-Yu Tsai, Miles Chen
Cc: open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Akari Tsuyukusa
clk-mt6795-apmixedsys.c, clk-mt6795-infracfg.c and clk-mt6795-pericfg.c
do not call platform_set_drvdata() during their driver probe callback,
but their remove callback calls platform_get_drvdata().
This results in platform_get_drvdata() returning NULL, which leads to
calling kfree(NULL) in mtk_free_clk_data(NULL).
This leaves clk_data unreleased, causing a memory leak.
Fix this by calling platform_set_drvdata() during probe.
Fixes: 0d363282bb0c ("clk: mediatek: Add MediaTek Helio X10 MT6795 clock drivers")
Cc: stable@vger.kernel.org
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
---
drivers/clk/mediatek/clk-mt6795-apmixedsys.c | 2 ++
drivers/clk/mediatek/clk-mt6795-infracfg.c | 2 ++
drivers/clk/mediatek/clk-mt6795-pericfg.c | 2 ++
3 files changed, 6 insertions(+)
diff --git a/drivers/clk/mediatek/clk-mt6795-apmixedsys.c b/drivers/clk/mediatek/clk-mt6795-apmixedsys.c
index 123d5d7fea85..239a3f5e1760 100644
--- a/drivers/clk/mediatek/clk-mt6795-apmixedsys.c
+++ b/drivers/clk/mediatek/clk-mt6795-apmixedsys.c
@@ -175,6 +175,8 @@ static int clk_mt6795_apmixed_probe(struct platform_device *pdev)
dev_dbg(dev, "Performing initial setup for MD1\n");
clk_mt6795_apmixed_setup_md1(base);
+ platform_set_drvdata(pdev, clk_data);
+
return 0;
unregister_ref2usb:
diff --git a/drivers/clk/mediatek/clk-mt6795-infracfg.c b/drivers/clk/mediatek/clk-mt6795-infracfg.c
index e4559569f5b0..914bb069aa85 100644
--- a/drivers/clk/mediatek/clk-mt6795-infracfg.c
+++ b/drivers/clk/mediatek/clk-mt6795-infracfg.c
@@ -116,6 +116,8 @@ static int clk_mt6795_infracfg_probe(struct platform_device *pdev)
if (ret)
goto unregister_cpumuxes;
+ platform_set_drvdata(pdev, clk_data);
+
return 0;
unregister_cpumuxes:
diff --git a/drivers/clk/mediatek/clk-mt6795-pericfg.c b/drivers/clk/mediatek/clk-mt6795-pericfg.c
index d48240eb2a67..27d0ef7d7b2f 100644
--- a/drivers/clk/mediatek/clk-mt6795-pericfg.c
+++ b/drivers/clk/mediatek/clk-mt6795-pericfg.c
@@ -125,6 +125,8 @@ static int clk_mt6795_pericfg_probe(struct platform_device *pdev)
if (ret)
goto unregister_composites;
+ platform_set_drvdata(pdev, clk_data);
+
return 0;
unregister_composites:
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v2 2/6] clk: mediatek: mt6795: fix memory leak on module removal
2026-07-07 7:48 ` [PATCH v2 2/6] clk: mediatek: mt6795: " Akari Tsuyukusa
@ 2026-07-07 14:47 ` Brian Masney
0 siblings, 0 replies; 15+ messages in thread
From: Brian Masney @ 2026-07-07 14:47 UTC (permalink / raw)
To: Akari Tsuyukusa
Cc: Michael Turquette, Stephen Boyd, Matthias Brugger,
AngeloGioacchino Del Regno, Chen-Yu Tsai, Miles Chen,
open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable
On Tue, Jul 07, 2026 at 04:48:31PM +0900, Akari Tsuyukusa wrote:
> clk-mt6795-apmixedsys.c, clk-mt6795-infracfg.c and clk-mt6795-pericfg.c
> do not call platform_set_drvdata() during their driver probe callback,
> but their remove callback calls platform_get_drvdata().
> This results in platform_get_drvdata() returning NULL, which leads to
> calling kfree(NULL) in mtk_free_clk_data(NULL).
> This leaves clk_data unreleased, causing a memory leak.
>
> Fix this by calling platform_set_drvdata() during probe.
>
> Fixes: 0d363282bb0c ("clk: mediatek: Add MediaTek Helio X10 MT6795 clock drivers")
> Cc: stable@vger.kernel.org
> Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 3/6] clk: mediatek: mt7622: fix memory leak on module removal
2026-07-07 7:48 [PATCH v2 0/6] clk: mediatek: fix memory leak on module removal Akari Tsuyukusa
2026-07-07 7:48 ` [PATCH v2 1/6] clk: mediatek: mt2712: " Akari Tsuyukusa
2026-07-07 7:48 ` [PATCH v2 2/6] clk: mediatek: mt6795: " Akari Tsuyukusa
@ 2026-07-07 7:48 ` Akari Tsuyukusa
2026-07-07 14:47 ` Brian Masney
2026-07-07 7:48 ` [PATCH v2 4/6] clk: mediatek: mt8135: " Akari Tsuyukusa
` (2 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Akari Tsuyukusa @ 2026-07-07 7:48 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen, Akari Tsuyukusa
clk-mt7622-apmixedsys.c and clk-mt7622-infracfg.c do not call
platform_set_drvdata() during their driver probe callback,
but their remove callback calls platform_get_drvdata().
This results in platform_get_drvdata() returning NULL,
which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
This leaves clk_data unreleased, causing a memory leak.
Fix this by calling platform_set_drvdata() during probe.
Fixes: c50e2ea6507b ("clk: mediatek: mt7622-apmixedsys: Add .remove() callback for module build")
Fixes: 838b86331c5e ("clk: mediatek: mt7622: Move infracfg to clk-mt7622-infracfg.c")
Cc: stable@vger.kernel.org
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
---
drivers/clk/mediatek/clk-mt7622-apmixedsys.c | 2 ++
drivers/clk/mediatek/clk-mt7622-infracfg.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/drivers/clk/mediatek/clk-mt7622-apmixedsys.c b/drivers/clk/mediatek/clk-mt7622-apmixedsys.c
index 8a29eaab0cfc..fae8abda14b3 100644
--- a/drivers/clk/mediatek/clk-mt7622-apmixedsys.c
+++ b/drivers/clk/mediatek/clk-mt7622-apmixedsys.c
@@ -109,6 +109,8 @@ static int clk_mt7622_apmixed_probe(struct platform_device *pdev)
if (ret)
goto unregister_gates;
+ platform_set_drvdata(pdev, clk_data);
+
return 0;
unregister_gates:
diff --git a/drivers/clk/mediatek/clk-mt7622-infracfg.c b/drivers/clk/mediatek/clk-mt7622-infracfg.c
index cfdf3b07c3e0..cec19447d637 100644
--- a/drivers/clk/mediatek/clk-mt7622-infracfg.c
+++ b/drivers/clk/mediatek/clk-mt7622-infracfg.c
@@ -90,6 +90,8 @@ static int clk_mt7622_infracfg_probe(struct platform_device *pdev)
if (ret)
goto unregister_cpumuxes;
+ platform_set_drvdata(pdev, clk_data);
+
return 0;
unregister_cpumuxes:
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v2 3/6] clk: mediatek: mt7622: fix memory leak on module removal
2026-07-07 7:48 ` [PATCH v2 3/6] clk: mediatek: mt7622: " Akari Tsuyukusa
@ 2026-07-07 14:47 ` Brian Masney
0 siblings, 0 replies; 15+ messages in thread
From: Brian Masney @ 2026-07-07 14:47 UTC (permalink / raw)
To: Akari Tsuyukusa
Cc: Michael Turquette, Stephen Boyd, Matthias Brugger,
AngeloGioacchino Del Regno, open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen
On Tue, Jul 07, 2026 at 04:48:32PM +0900, Akari Tsuyukusa wrote:
> clk-mt7622-apmixedsys.c and clk-mt7622-infracfg.c do not call
> platform_set_drvdata() during their driver probe callback,
> but their remove callback calls platform_get_drvdata().
> This results in platform_get_drvdata() returning NULL,
> which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
> This leaves clk_data unreleased, causing a memory leak.
>
> Fix this by calling platform_set_drvdata() during probe.
>
> Fixes: c50e2ea6507b ("clk: mediatek: mt7622-apmixedsys: Add .remove() callback for module build")
> Fixes: 838b86331c5e ("clk: mediatek: mt7622: Move infracfg to clk-mt7622-infracfg.c")
> Cc: stable@vger.kernel.org
> Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 4/6] clk: mediatek: mt8135: fix memory leak on module removal
2026-07-07 7:48 [PATCH v2 0/6] clk: mediatek: fix memory leak on module removal Akari Tsuyukusa
` (2 preceding siblings ...)
2026-07-07 7:48 ` [PATCH v2 3/6] clk: mediatek: mt7622: " Akari Tsuyukusa
@ 2026-07-07 7:48 ` Akari Tsuyukusa
2026-07-07 14:47 ` Brian Masney
2026-07-07 7:48 ` [PATCH v2 5/6] clk: mediatek: mt8173: " Akari Tsuyukusa
2026-07-07 7:48 ` [PATCH v2 6/6] clk: mediatek: mt8192: " Akari Tsuyukusa
5 siblings, 1 reply; 15+ messages in thread
From: Akari Tsuyukusa @ 2026-07-07 7:48 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen, Akari Tsuyukusa
clk_mt8135_apmixed_probe() in clk-mt8135-apmixedsys.c does not call
platform_set_drvdata(), but clk_mt8135_apmixed_remove() callback calls
platform_get_drvdata().
This results in platform_get_drvdata() returning NULL,
which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
This leaves clk_data unreleased, causing a memory leak.
Fix this by calling platform_set_drvdata() during probe.
Fixes: 54b7026f011e ("clk: mediatek: mt8135-apmixedsys: Convert to platform_driver and module")
Cc: stable@vger.kernel.org
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
---
drivers/clk/mediatek/clk-mt8135-apmixedsys.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/clk/mediatek/clk-mt8135-apmixedsys.c b/drivers/clk/mediatek/clk-mt8135-apmixedsys.c
index 19e4ee489ec3..e3b7dc13b458 100644
--- a/drivers/clk/mediatek/clk-mt8135-apmixedsys.c
+++ b/drivers/clk/mediatek/clk-mt8135-apmixedsys.c
@@ -66,6 +66,8 @@ static int clk_mt8135_apmixed_probe(struct platform_device *pdev)
if (ret)
goto unregister_plls;
+ platform_set_drvdata(pdev, clk_data);
+
return 0;
unregister_plls:
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v2 4/6] clk: mediatek: mt8135: fix memory leak on module removal
2026-07-07 7:48 ` [PATCH v2 4/6] clk: mediatek: mt8135: " Akari Tsuyukusa
@ 2026-07-07 14:47 ` Brian Masney
0 siblings, 0 replies; 15+ messages in thread
From: Brian Masney @ 2026-07-07 14:47 UTC (permalink / raw)
To: Akari Tsuyukusa
Cc: Michael Turquette, Stephen Boyd, Matthias Brugger,
AngeloGioacchino Del Regno, open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen
On Tue, Jul 07, 2026 at 04:48:33PM +0900, Akari Tsuyukusa wrote:
> clk_mt8135_apmixed_probe() in clk-mt8135-apmixedsys.c does not call
> platform_set_drvdata(), but clk_mt8135_apmixed_remove() callback calls
> platform_get_drvdata().
> This results in platform_get_drvdata() returning NULL,
> which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
> This leaves clk_data unreleased, causing a memory leak.
>
> Fix this by calling platform_set_drvdata() during probe.
>
> Fixes: 54b7026f011e ("clk: mediatek: mt8135-apmixedsys: Convert to platform_driver and module")
> Cc: stable@vger.kernel.org
> Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 5/6] clk: mediatek: mt8173: fix memory leak on module removal
2026-07-07 7:48 [PATCH v2 0/6] clk: mediatek: fix memory leak on module removal Akari Tsuyukusa
` (3 preceding siblings ...)
2026-07-07 7:48 ` [PATCH v2 4/6] clk: mediatek: mt8135: " Akari Tsuyukusa
@ 2026-07-07 7:48 ` Akari Tsuyukusa
2026-07-07 14:48 ` Brian Masney
2026-07-28 14:53 ` Brian Masney
2026-07-07 7:48 ` [PATCH v2 6/6] clk: mediatek: mt8192: " Akari Tsuyukusa
5 siblings, 2 replies; 15+ messages in thread
From: Akari Tsuyukusa @ 2026-07-07 7:48 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen, Akari Tsuyukusa
clk-mt8173-apmixedsys.c and clk-mt8173-infracfg.c do not call
platform_set_drvdata() during their driver probe callback,
but their remove callback calls platform_get_drvdata().
This results in platform_get_drvdata() returning NULL,
which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
This leaves clk_data unreleased, causing a memory leak.
Fix this by calling platform_set_drvdata() during probe.
Fixes: 4c02c9af3cb9 ("clk: mediatek: mt8173: Break down clock drivers and allow module build")
Cc: stable@vger.kernel.org
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
---
drivers/clk/mediatek/clk-mt8173-apmixedsys.c | 2 ++
drivers/clk/mediatek/clk-mt8173-infracfg.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
index d7d416172ab3..65dc4489a09c 100644
--- a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
+++ b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
@@ -179,6 +179,8 @@ static int clk_mt8173_apmixed_probe(struct platform_device *pdev)
if (r)
goto unregister_ref2usb;
+ platform_set_drvdata(pdev, clk_data);
+
return 0;
unregister_ref2usb:
diff --git a/drivers/clk/mediatek/clk-mt8173-infracfg.c b/drivers/clk/mediatek/clk-mt8173-infracfg.c
index fa2d1d557e04..8b69009e1965 100644
--- a/drivers/clk/mediatek/clk-mt8173-infracfg.c
+++ b/drivers/clk/mediatek/clk-mt8173-infracfg.c
@@ -128,6 +128,8 @@ static int clk_mt8173_infracfg_probe(struct platform_device *pdev)
if (r)
goto unregister_clk_hw;
+ platform_set_drvdata(pdev, clk_data);
+
return 0;
unregister_clk_hw:
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v2 5/6] clk: mediatek: mt8173: fix memory leak on module removal
2026-07-07 7:48 ` [PATCH v2 5/6] clk: mediatek: mt8173: " Akari Tsuyukusa
@ 2026-07-07 14:48 ` Brian Masney
2026-07-28 14:53 ` Brian Masney
1 sibling, 0 replies; 15+ messages in thread
From: Brian Masney @ 2026-07-07 14:48 UTC (permalink / raw)
To: Akari Tsuyukusa
Cc: Michael Turquette, Stephen Boyd, Matthias Brugger,
AngeloGioacchino Del Regno, open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen
On Tue, Jul 07, 2026 at 04:48:34PM +0900, Akari Tsuyukusa wrote:
> clk-mt8173-apmixedsys.c and clk-mt8173-infracfg.c do not call
> platform_set_drvdata() during their driver probe callback,
> but their remove callback calls platform_get_drvdata().
> This results in platform_get_drvdata() returning NULL,
> which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
> This leaves clk_data unreleased, causing a memory leak.
>
> Fix this by calling platform_set_drvdata() during probe.
>
> Fixes: 4c02c9af3cb9 ("clk: mediatek: mt8173: Break down clock drivers and allow module build")
> Cc: stable@vger.kernel.org
> Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v2 5/6] clk: mediatek: mt8173: fix memory leak on module removal
2026-07-07 7:48 ` [PATCH v2 5/6] clk: mediatek: mt8173: " Akari Tsuyukusa
2026-07-07 14:48 ` Brian Masney
@ 2026-07-28 14:53 ` Brian Masney
2026-07-28 17:02 ` Akari Tsuyukusa
1 sibling, 1 reply; 15+ messages in thread
From: Brian Masney @ 2026-07-28 14:53 UTC (permalink / raw)
To: Akari Tsuyukusa
Cc: Michael Turquette, Stephen Boyd, Matthias Brugger,
AngeloGioacchino Del Regno, open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen
Hi Akari,
On Tue, Jul 07, 2026 at 04:48:34PM +0900, Akari Tsuyukusa wrote:
> clk-mt8173-apmixedsys.c and clk-mt8173-infracfg.c do not call
> platform_set_drvdata() during their driver probe callback,
> but their remove callback calls platform_get_drvdata().
> This results in platform_get_drvdata() returning NULL,
> which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
> This leaves clk_data unreleased, causing a memory leak.
>
> Fix this by calling platform_set_drvdata() during probe.
>
> Fixes: 4c02c9af3cb9 ("clk: mediatek: mt8173: Break down clock drivers and allow module build")
> Cc: stable@vger.kernel.org
> Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
> ---
> drivers/clk/mediatek/clk-mt8173-apmixedsys.c | 2 ++
> drivers/clk/mediatek/clk-mt8173-infracfg.c | 2 ++
> 2 files changed, 4 insertions(+)
>
> diff --git a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
> index d7d416172ab3..65dc4489a09c 100644
> --- a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
> +++ b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
> @@ -179,6 +179,8 @@ static int clk_mt8173_apmixed_probe(struct platform_device *pdev)
> if (r)
> goto unregister_ref2usb;
>
> + platform_set_drvdata(pdev, clk_data);
> +
> return 0;
>
> unregister_ref2usb:
> diff --git a/drivers/clk/mediatek/clk-mt8173-infracfg.c b/drivers/clk/mediatek/clk-mt8173-infracfg.c
> index fa2d1d557e04..8b69009e1965 100644
> --- a/drivers/clk/mediatek/clk-mt8173-infracfg.c
> +++ b/drivers/clk/mediatek/clk-mt8173-infracfg.c
> @@ -128,6 +128,8 @@ static int clk_mt8173_infracfg_probe(struct platform_device *pdev)
> if (r)
> goto unregister_clk_hw;
>
> + platform_set_drvdata(pdev, clk_data);
> +
This patch doesn't compile.
drivers/clk/mediatek/clk-mt8173-infracfg.c: In function ‘clk_mt8173_infracfg_probe’:
drivers/clk/mediatek/clk-mt8173-infracfg.c:131:36: error: ‘clk_data’ undeclared (first use in this function); did you mean ‘clk_gate’?
Brian
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v2 5/6] clk: mediatek: mt8173: fix memory leak on module removal
2026-07-28 14:53 ` Brian Masney
@ 2026-07-28 17:02 ` Akari Tsuyukusa
0 siblings, 0 replies; 15+ messages in thread
From: Akari Tsuyukusa @ 2026-07-28 17:02 UTC (permalink / raw)
To: Brian Masney
Cc: Michael Turquette, Stephen Boyd, Matthias Brugger,
AngeloGioacchino Del Regno, open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen
Hi Brian,
On Tue, Jul 28, 2026 at 10:53:00AM -0400, Brian Masney wrote:
> On Tue, Jul 07, 2026 at 04:48:34PM +0900, Akari Tsuyukusa wrote:
> > clk-mt8173-apmixedsys.c and clk-mt8173-infracfg.c do not call
> > platform_set_drvdata() during their driver probe callback,
> > but their remove callback calls platform_get_drvdata().
> > This results in platform_get_drvdata() returning NULL,
> > which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
> > This leaves clk_data unreleased, causing a memory leak.
> >
> > Fix this by calling platform_set_drvdata() during probe.
> >
> > Fixes: 4c02c9af3cb9 ("clk: mediatek: mt8173: Break down clock drivers and allow module build")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
> > ---
> > drivers/clk/mediatek/clk-mt8173-apmixedsys.c | 2 ++
> > drivers/clk/mediatek/clk-mt8173-infracfg.c | 2 ++
> > 2 files changed, 4 insertions(+)
> >
> > diff --git a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
> > index d7d416172ab3..65dc4489a09c 100644
> > --- a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
> > +++ b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
> > @@ -179,6 +179,8 @@ static int clk_mt8173_apmixed_probe(struct platform_device *pdev)
> > if (r)
> > goto unregister_ref2usb;
> >
> > + platform_set_drvdata(pdev, clk_data);
> > +
> > return 0;
> >
> > unregister_ref2usb:
> > diff --git a/drivers/clk/mediatek/clk-mt8173-infracfg.c b/drivers/clk/mediatek/clk-mt8173-infracfg.c
> > index fa2d1d557e04..8b69009e1965 100644
> > --- a/drivers/clk/mediatek/clk-mt8173-infracfg.c
> > +++ b/drivers/clk/mediatek/clk-mt8173-infracfg.c
> > @@ -128,6 +128,8 @@ static int clk_mt8173_infracfg_probe(struct platform_device *pdev)
> > if (r)
> > goto unregister_clk_hw;
> >
> > + platform_set_drvdata(pdev, clk_data);
> > +
>
> This patch doesn't compile.
>
> drivers/clk/mediatek/clk-mt8173-infracfg.c: In function ‘clk_mt8173_infracfg_probe’:
> drivers/clk/mediatek/clk-mt8173-infracfg.c:131:36: error: ‘clk_data’ undeclared (first use in this function); did you mean ‘clk_gate’?
Sorry for sending you a broken patch.
I accidentally built only with ARCH=arm and missed the build failure.
While fixing this, I noticed that clk-mt8173-infracfg.c can be converted
to use mtk_clk_simple_probe()/remove() instead of adding driver-specific
drvdata handling.
The helper currently lacks cpumux support, but I have a reviewed patch
for it:
https://lore.kernel.org/lkml/20260304181024.738391-2-akkun11.open@gmail.com/
(Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>)
Also, adding PLL support to the helper should allow more MediaTek clock
drivers to use the common probe/remove path:
https://github.com/TeamYogaBlade2/linux/commit/d991a61887ab76fd83708dffe8e48192e01023d5
Would it be preferable to extend mtk_clk_simple_probe()/remove() with
cpumux and PLL support and reorganize this series around it?
or should I keep this series focused on the current simple fixes?
Best Regards,
Akari
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 6/6] clk: mediatek: mt8192: fix memory leak on module removal
2026-07-07 7:48 [PATCH v2 0/6] clk: mediatek: fix memory leak on module removal Akari Tsuyukusa
` (4 preceding siblings ...)
2026-07-07 7:48 ` [PATCH v2 5/6] clk: mediatek: mt8173: " Akari Tsuyukusa
@ 2026-07-07 7:48 ` Akari Tsuyukusa
2026-07-07 14:48 ` Brian Masney
5 siblings, 1 reply; 15+ messages in thread
From: Akari Tsuyukusa @ 2026-07-07 7:48 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen, Akari Tsuyukusa
clk_mt8192_apmixed_probe() in clk-mt8192-apmixedsys.c does not call
platform_set_drvdata(), but clk_mt8192_apmixed_remove() callback calls
platform_get_drvdata().
This results in platform_get_drvdata() returning NULL,
which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
This leaves clk_data unreleased, causing a memory leak.
Fix this by calling platform_set_drvdata() during probe.
Fixes: 124294ff468f ("clk: mediatek: mt8192: Move apmixedsys clock driver to its own file")
Cc: stable@vger.kernel.org
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
---
drivers/clk/mediatek/clk-mt8192-apmixedsys.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/clk/mediatek/clk-mt8192-apmixedsys.c b/drivers/clk/mediatek/clk-mt8192-apmixedsys.c
index b0563a285bd6..e6ac40e2f12d 100644
--- a/drivers/clk/mediatek/clk-mt8192-apmixedsys.c
+++ b/drivers/clk/mediatek/clk-mt8192-apmixedsys.c
@@ -176,6 +176,8 @@ static int clk_mt8192_apmixed_probe(struct platform_device *pdev)
if (r)
goto unregister_gates;
+ platform_set_drvdata(pdev, clk_data);
+
return r;
unregister_gates:
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v2 6/6] clk: mediatek: mt8192: fix memory leak on module removal
2026-07-07 7:48 ` [PATCH v2 6/6] clk: mediatek: mt8192: " Akari Tsuyukusa
@ 2026-07-07 14:48 ` Brian Masney
0 siblings, 0 replies; 15+ messages in thread
From: Brian Masney @ 2026-07-07 14:48 UTC (permalink / raw)
To: Akari Tsuyukusa
Cc: Michael Turquette, Stephen Boyd, Matthias Brugger,
AngeloGioacchino Del Regno, open list:COMMON CLK FRAMEWORK,
open list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support, stable, Chen-Yu Tsai,
Miles Chen
On Tue, Jul 07, 2026 at 04:48:35PM +0900, Akari Tsuyukusa wrote:
> clk_mt8192_apmixed_probe() in clk-mt8192-apmixedsys.c does not call
> platform_set_drvdata(), but clk_mt8192_apmixed_remove() callback calls
> platform_get_drvdata().
> This results in platform_get_drvdata() returning NULL,
> which leads to calling kfree(NULL) in mtk_free_clk_data(NULL).
> This leaves clk_data unreleased, causing a memory leak.
>
> Fix this by calling platform_set_drvdata() during probe.
>
> Fixes: 124294ff468f ("clk: mediatek: mt8192: Move apmixedsys clock driver to its own file")
> Cc: stable@vger.kernel.org
> Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread