[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4533346.zXzVPlgoHZ@avalon>
Date: Fri, 02 Mar 2018 15:36:26 +0200
From: Laurent Pinchart <laurent.pinchart@...asonboard.com>
To: frowand.list@...il.com
Cc: Rob Herring <robh+dt@...nel.org>, pantelis.antoniou@...sulko.com,
Pantelis Antoniou <panto@...oniou-consulting.com>,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
geert@...ux-m68k.org, laurent.pinchart+renesas@...asonboard.com
Subject: Re: [PATCH v5 0/4] of: change overlay apply input data from unflattened
Hi Frank,
Thank you for the patches.
For the whole series,
Tested-by: Laurent Pinchart <laurent.pinchart@...asonboard.com>
On Friday, 2 March 2018 03:51:56 EET frowand.list@...il.com wrote:
> From: Frank Rowand <frank.rowand@...y.com>
>
> Move duplicating and unflattening of an overlay flattened devicetree
> (FDT) into the overlay application code. To accomplish this,
> of_overlay_apply() is replaced by of_overlay_fdt_apply().
>
> The copy of the FDT (aka "duplicate FDT") now belongs to devicetree
> code, which is thus responsible for freeing the duplicate FDT. The
> caller of of_overlay_fdt_apply() remains responsible for freeing the
> original FDT.
>
> The unflattened devicetree now belongs to devicetree code, which is
> thus responsible for freeing the unflattened devicetree.
>
> These ownership changes prevent early freeing of the duplicated FDT
> or the unflattened devicetree, which could result in use after free
> errors.
>
> These changes led to migrating some unittest overlay data into
> their own devicetree source files, and then converting most of
> them to use sugar syntax instead of hand coding fragments.
>
> Changes from v4:
> (all in patch 1/4)
> - move of_overlay_fdt_apply() prototype from of_private.h to of.h
> - of_overlay_apply(): add kfree(fdt) if resolve phandles or
> initialize changeset fail
> - of_overlay_fdt_apply(): add parameter size of overlay_fdt and use
> it for some additional validation of the overlay fdt
> - update unittest.c with additional parameter to of_overlay_fdt_apply()
>
> Changes from v3:
> - patch 1/4: OF_OVERLAY: add select OF_FLATTREE
>
> Changes from v2:
> - improve error messages in patch 4/4, as suggested by Geert
>
> Changes from v1:
> - rebase on v4.16-rc1
> - update documentation
> - split out error message to a separate patch
>
>
> Frank Rowand (4):
> of: change overlay apply input data from unflattened to FDT
> of: Documentation: of_overlay_apply() replaced by
> of_overlay_fdt_apply()
> of: convert unittest overlay devicetree source to sugar syntax
> of: improve reporting invalid overlay target path
>
> Documentation/devicetree/overlay-notes.txt | 4 +-
> drivers/of/Kconfig | 1 +
> drivers/of/overlay.c | 134 +++++++++--
> drivers/of/resolver.c | 6 -
> drivers/of/unittest-data/Makefile | 28 ++-
> drivers/of/unittest-data/overlay.dts | 101 ++++----
> drivers/of/unittest-data/overlay_0.dts | 14 ++
> drivers/of/unittest-data/overlay_1.dts | 14 ++
> drivers/of/unittest-data/overlay_10.dts | 27 +++
> drivers/of/unittest-data/overlay_11.dts | 28 +++
> drivers/of/unittest-data/overlay_12.dts | 14 ++
> drivers/of/unittest-data/overlay_13.dts | 14 ++
> drivers/of/unittest-data/overlay_15.dts | 30 +++
> drivers/of/unittest-data/overlay_2.dts | 9 +
> drivers/of/unittest-data/overlay_3.dts | 9 +
> drivers/of/unittest-data/overlay_4.dts | 18 ++
> drivers/of/unittest-data/overlay_5.dts | 9 +
> drivers/of/unittest-data/overlay_6.dts | 10 +
> drivers/of/unittest-data/overlay_7.dts | 10 +
> drivers/of/unittest-data/overlay_8.dts | 10 +
> drivers/of/unittest-data/overlay_9.dts | 10 +
> drivers/of/unittest-data/overlay_bad_phandle.dts | 23 +-
> drivers/of/unittest-data/overlay_bad_symbol.dts | 25 +-
> drivers/of/unittest-data/tests-overlay.dtsi | 217 +----------------
> drivers/of/unittest.c | 294
> +++++++++++------------ include/linux/of.h |
> 6 +-
> 26 files changed, 582 insertions(+), 483 deletions(-)
> create mode 100644 drivers/of/unittest-data/overlay_0.dts
> create mode 100644 drivers/of/unittest-data/overlay_1.dts
> create mode 100644 drivers/of/unittest-data/overlay_10.dts
> create mode 100644 drivers/of/unittest-data/overlay_11.dts
> create mode 100644 drivers/of/unittest-data/overlay_12.dts
> create mode 100644 drivers/of/unittest-data/overlay_13.dts
> create mode 100644 drivers/of/unittest-data/overlay_15.dts
> create mode 100644 drivers/of/unittest-data/overlay_2.dts
> create mode 100644 drivers/of/unittest-data/overlay_3.dts
> create mode 100644 drivers/of/unittest-data/overlay_4.dts
> create mode 100644 drivers/of/unittest-data/overlay_5.dts
> create mode 100644 drivers/of/unittest-data/overlay_6.dts
> create mode 100644 drivers/of/unittest-data/overlay_7.dts
> create mode 100644 drivers/of/unittest-data/overlay_8.dts
> create mode 100644 drivers/of/unittest-data/overlay_9.dts
--
Regards,
Laurent Pinchart
Powered by blists - more mailing lists