[U-Boot] Antwort: Re: cmd/fdt: support single value replacement within an array
Hannes Schmelzer
Hannes.Schmelzer at br-automation.com
Fri Aug 18 12:49:17 UTC 2017
Laurent Pinchart <laurent.pinchart at ideasonboard.com> schrieb am 18.08.2017
10:14:39:
> Von: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>
> Hi Hannes,
Hi Laurent,
i will provide some patch for fixing this issue.
cheers,
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