Re: [PATCH v5 0/4] of: change overlay apply input data from unflattened

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Frank,

Thank you for the patches.

For the whole series,

Tested-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

On Friday, 2 March 2018 03:51:56 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 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

--
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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux