Hi Frank, Thank you for the patches. For the whole series, Tested-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> On Thursday, 1 March 2018 20:00:52 EET frowand.list@xxxxxxxxx wrote: > From: Frank Rowand <frank.rowand@xxxxxxxx> > > 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 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/of_private.h | 1 + > drivers/of/overlay.c | 129 ++++++++-- > 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 | 7 - > 27 files changed, 575 insertions(+), 487 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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html