arm psci_probe() bug
Sascha Hauer
s.hauer at pengutronix.de
Thu Aug 3 01:30:16 PDT 2023
Hi Alexander,
On Thu, Aug 03, 2023 at 11:04:36AM +0300, Alexander Shiyan wrote:
> Hello.
>
> I found a bug in psci processing.
> Currently the kernel writes the following on boot:
> psci: probing for conduit method from DT.
> psci: invalid "method" property:
> ...
>
> In the psci_probe() function we do the following:
> ret = of_property_read_string(dev->of_node, "method", &method);
> and use this (method) variable as an argument for of_psci_fixup().
> I suspect we are free this variable at of_property_write_string ->
> of_set_property > of_delete_property.
>
> Can you confirm my thought and correct it in the right direction?
Are you using the internal device tree for booting? If yes, then I think
this can happen. As I just saw when booting with the internal device
tree then of_get_fixed_tree() is called with the barebox live tree as
argument. We shouldn't do this and use a copy instead.
Nevertheless I think we shouldn't assume the string returned from
of_property_read_string() is valid for all eternity and make a copy
there as well.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list