[PATCH 2/2] fdtgrep: fix fdtgrep_find_regions() error with some device trees

Patrick DELAUNAY patrick.delaunay at st.com
Fri Jan 10 08:58:41 CET 2020


Hi,

> From: U-Boot <u-boot-bounces at lists.denx.de> On Behalf Of Simon Glass
> Sent: jeudi 9 janvier 2020 21:04
> 
> On Thu, 9 Jan 2020 at 09:35, Anatolij Gustschin <agust at denx.de> wrote:
> >
> > With some device trees (i.e. i.MX6 SoC) and longer REMOVE_PROPS list
> > the fdtgrep tool stops with "Internal error with fdtgrep_find_regions()".
> > Increase 'max_regions' count to avoid such errors.
> >
> > Signed-off-by: Anatolij Gustschin <agust at denx.de>
> > ---
> >  tools/fdtgrep.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Reviewed-by: Simon Glass <sjg at chromium.org>
> 
> Wow that's a lot. I wonder if we should adjust it to be unlimited?

I see the same issue for device-tree when number of pincontrol node > 100 in SPL
(only see for debug use case).

But normally it is managed in the function
(2 loops and re-alloc for the second loop if size > 100).

But the loop is not correctly managed, I think it is a issue introduced by 
Commit e178db1d7736a92951fdc7f1fd9b8ecf4d2877ba
fdtgrep: Fix logic of free() in do_fdtgrep()

=> retrun -1 added for the 1rst loop.

I have locally a patch, but I don't yet upstream it....
It is done today with:
	"tools: ftdgrep: correct the find regions loop in do_fdtgrep"
	http://patchwork.ozlabs.org/project/uboot/list/?series=152371

Anatolij can you confirm that my patch correct also your issue ?

Regards

Patrick


More information about the U-Boot mailing list