On Tue, 03 Nov 2026 23:02:10 +0100, Carlo Szelinsky [off-list ref] wrote:
A power domain is shared by all controllers on the same supply and
counted with a kref, but it is devm memory of the controller that
created it. When that controller unbinds while another one still uses
the domain, devres frees it anyway, and the other controller and the
global map keep pointing at freed memory. The same happens when
pse_register_pw_ds() fails part way: the domains it already set up stay
in the map, and devres frees them.
[...]
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com