* [PATCH] clk: mmp2: call pm_genpd_init() only after genpd.name is set
@ 2024-12-31 19:03 Lubomir Rintel
2025-01-07 21:36 ` Stephen Boyd
2025-01-07 21:37 ` Stephen Boyd
0 siblings, 2 replies; 4+ messages in thread
From: Lubomir Rintel @ 2024-12-31 19:03 UTC (permalink / raw)
To: linux-clk; +Cc: Michael Turquette, Stephen Boyd, Lubomir Rintel, stable
Setting the genpd's struct device's name with dev_set_name() is
happening within pm_genpd_init(). If it remains NULL, things can blow up
later, such as when crafting the devfs hierarchy for the power domain:
8<--- cut here --- [please do not actually cut, you'll ruin your display]
Unable to handle kernel NULL pointer dereference at virtual address 00000000 when read
...
Call trace:
strlen from start_creating+0x90/0x138
start_creating from debugfs_create_dir+0x20/0x178
debugfs_create_dir from genpd_debug_add.part.0+0x4c/0x144
genpd_debug_add.part.0 from genpd_debug_init+0x74/0x90
genpd_debug_init from do_one_initcall+0x5c/0x244
do_one_initcall from kernel_init_freeable+0x19c/0x1f4
kernel_init_freeable from kernel_init+0x1c/0x12c
kernel_init from ret_from_fork+0x14/0x28
Bisecting tracks this crash back to commit 899f44531fe6 ("pmdomain: core:
Add GENPD_FLAG_DEV_NAME_FW flag"), which exchanges use of genpd->name
with dev_name(&genpd->dev) in genpd_debug_add.part().
Fixes: 899f44531fe6 ("pmdomain: core: Add GENPD_FLAG_DEV_NAME_FW flag")
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Cc: stable@vger.kernel.org # v6.12+
---
drivers/clk/mmp/pwr-island.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/mmp/pwr-island.c b/drivers/clk/mmp/pwr-island.c
index edaa2433a472..eaf5d2c5e593 100644
--- a/drivers/clk/mmp/pwr-island.c
+++ b/drivers/clk/mmp/pwr-island.c
@@ -106,10 +106,10 @@ struct generic_pm_domain *mmp_pm_domain_register(const char *name,
pm_domain->flags = flags;
pm_domain->lock = lock;
- pm_genpd_init(&pm_domain->genpd, NULL, true);
pm_domain->genpd.name = name;
pm_domain->genpd.power_on = mmp_pm_domain_power_on;
pm_domain->genpd.power_off = mmp_pm_domain_power_off;
+ pm_genpd_init(&pm_domain->genpd, NULL, true);
return &pm_domain->genpd;
}
--
2.47.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] clk: mmp2: call pm_genpd_init() only after genpd.name is set
2024-12-31 19:03 [PATCH] clk: mmp2: call pm_genpd_init() only after genpd.name is set Lubomir Rintel
@ 2025-01-07 21:36 ` Stephen Boyd
2025-01-07 21:37 ` Stephen Boyd
1 sibling, 0 replies; 4+ messages in thread
From: Stephen Boyd @ 2025-01-07 21:36 UTC (permalink / raw)
To: Lubomir Rintel, linux-clk; +Cc: Michael Turquette, Lubomir Rintel, stable
Quoting Lubomir Rintel (2024-12-31 11:03:35)
> Setting the genpd's struct device's name with dev_set_name() is
> happening within pm_genpd_init(). If it remains NULL, things can blow up
> later, such as when crafting the devfs hierarchy for the power domain:
>
> 8<--- cut here --- [please do not actually cut, you'll ruin your display]
Applied to clk-fixes
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] clk: mmp2: call pm_genpd_init() only after genpd.name is set
2024-12-31 19:03 [PATCH] clk: mmp2: call pm_genpd_init() only after genpd.name is set Lubomir Rintel
2025-01-07 21:36 ` Stephen Boyd
@ 2025-01-07 21:37 ` Stephen Boyd
2025-01-08 12:24 ` Lubomir Rintel
1 sibling, 1 reply; 4+ messages in thread
From: Stephen Boyd @ 2025-01-07 21:37 UTC (permalink / raw)
To: Lubomir Rintel, linux-clk; +Cc: Michael Turquette, Lubomir Rintel, stable
Quoting Lubomir Rintel (2024-12-31 11:03:35)
> Setting the genpd's struct device's name with dev_set_name() is
> happening within pm_genpd_init(). If it remains NULL, things can blow up
> later, such as when crafting the devfs hierarchy for the power domain:
>
> 8<--- cut here --- [please do not actually cut, you'll ruin your display]
> Unable to handle kernel NULL pointer dereference at virtual address 00000000 when read
> ...
> Call trace:
> strlen from start_creating+0x90/0x138
> start_creating from debugfs_create_dir+0x20/0x178
> debugfs_create_dir from genpd_debug_add.part.0+0x4c/0x144
> genpd_debug_add.part.0 from genpd_debug_init+0x74/0x90
> genpd_debug_init from do_one_initcall+0x5c/0x244
> do_one_initcall from kernel_init_freeable+0x19c/0x1f4
> kernel_init_freeable from kernel_init+0x1c/0x12c
> kernel_init from ret_from_fork+0x14/0x28
>
> Bisecting tracks this crash back to commit 899f44531fe6 ("pmdomain: core:
> Add GENPD_FLAG_DEV_NAME_FW flag"), which exchanges use of genpd->name
> with dev_name(&genpd->dev) in genpd_debug_add.part().
>
> Fixes: 899f44531fe6 ("pmdomain: core: Add GENPD_FLAG_DEV_NAME_FW flag")
> Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Please tell me which author domain it is supposed to be. redhat.com or
v3.sk?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] clk: mmp2: call pm_genpd_init() only after genpd.name is set
2025-01-07 21:37 ` Stephen Boyd
@ 2025-01-08 12:24 ` Lubomir Rintel
0 siblings, 0 replies; 4+ messages in thread
From: Lubomir Rintel @ 2025-01-08 12:24 UTC (permalink / raw)
To: Stephen Boyd; +Cc: linux-clk, Michael Turquette, Lubomir Rintel, stable
On Tue, Jan 7, 2025 at 10:37 PM Stephen Boyd <sboyd@kernel.org> wrote:
>
> Quoting Lubomir Rintel (2024-12-31 11:03:35)
> > Setting the genpd's struct device's name with dev_set_name() is
> > happening within pm_genpd_init(). If it remains NULL, things can blow up
> > later, such as when crafting the devfs hierarchy for the power domain:
> >
> > 8<--- cut here --- [please do not actually cut, you'll ruin your display]
> > Unable to handle kernel NULL pointer dereference at virtual address 00000000 when read
> > ...
> > Call trace:
> > strlen from start_creating+0x90/0x138
> > start_creating from debugfs_create_dir+0x20/0x178
> > debugfs_create_dir from genpd_debug_add.part.0+0x4c/0x144
> > genpd_debug_add.part.0 from genpd_debug_init+0x74/0x90
> > genpd_debug_init from do_one_initcall+0x5c/0x244
> > do_one_initcall from kernel_init_freeable+0x19c/0x1f4
> > kernel_init_freeable from kernel_init+0x1c/0x12c
> > kernel_init from ret_from_fork+0x14/0x28
> >
> > Bisecting tracks this crash back to commit 899f44531fe6 ("pmdomain: core:
> > Add GENPD_FLAG_DEV_NAME_FW flag"), which exchanges use of genpd->name
> > with dev_name(&genpd->dev) in genpd_debug_add.part().
> >
> > Fixes: 899f44531fe6 ("pmdomain: core: Add GENPD_FLAG_DEV_NAME_FW flag")
> > Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
>
> Please tell me which author domain it is supposed to be. redhat.com or
> v3.sk?
lkundrak@v3.sk please
My apologies -- apparently gmail now insists on using a gmail
address for mail outgoing via their server, to the point it silently rewrites
it in messages. I'm also unable to use a different mail server from some
networks. Sigh. I'm sorry about this, I'll try to find a way around it
next time.
Thank you,
Lubo
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-01-08 12:24 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-31 19:03 [PATCH] clk: mmp2: call pm_genpd_init() only after genpd.name is set Lubomir Rintel
2025-01-07 21:36 ` Stephen Boyd
2025-01-07 21:37 ` Stephen Boyd
2025-01-08 12:24 ` Lubomir Rintel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox