[U-Boot] cmd/fdt: support single value replacement within an array
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Aug 18 08:14:39 UTC 2017
Hi Hannes,
On Friday 18 Aug 2017 10:07:19 Hannes Schmelzer wrote:
> Laurent Pinchart schrieb am 04.08.2017 23:23:19:
>
> Hi Laurent,
>
> as told a few days ago i'm now coming back to this issue.
Thank you.
> > (I'm not subscribed to the list, please keep me CC'ed on replies)
>
> subscribing to the list would be a great idea, so you're always up to date
> whats going on ;-)
I know, but I've already stopped reading mailing lists I'm subscribed to due
to the amount of traffic, so I figured out that subscribing to new ones
wouldn't be a good idea :-)
> > On Tuesday 30 May 2017 13:05:00 Hannes Schmelzer wrote:
> >> With this commit we can modify single values within an array of a dts
> >> property.
> >
> > But with this commit U-Boot crashes if you try to create a new property
> > with the fdt set command :-/
> >
> > I've tested v2017.07 with the commit reverted, and fdt set works again
> > for me. The issue is that your fdt_getprop() call fails and return NULL
> > with len set to -1. You can easily imagine what the memcpy() following it
> > will do.
>
> Yes. Your'e right with that.
>
> I just checked most current source (...), there were changes regarding
> this issue.
> Tom introduced a check against the fail of fdt_getprop(...) call.
>
> http://git.denx.de/?p=u-boot.git;a=commitdiff;h=99bb38e2cce9d99238458e0f6d18
> 80c6d2e80a4d
>
> Can you please try with your testcase with most current source again?
>
> please let us know if the problem is fixed with this.
I can't test that right now as I don't have access to my hardware at the
moment, but I doubt it will work.
The code now reads as
ptmp = fdt_getprop(working_fdt, nodeoffset, prop, &len);
if (!ptmp) {
printf("prop (%s) not found!\n", prop);
return 1;
}
The new !ptmp check should prevent the crash, but it will also prevent the fdt
set command from operating correctly, as it will return an error if the
property isn't found.
--
Regards,
Laurent Pinchart
More information about the U-Boot
mailing list