linux-hardened/drivers/gpu/drm/tilcdc
Frank Rowand f948d6d8b7 of: overlay: avoid race condition between applying multiple overlays
The process of applying an overlay consists of:
  - unflatten an overlay FDT (flattened device tree) into an
    EDT (expanded device tree)
  - fixup the phandle values in the overlay EDT to fit in a
    range above the phandle values in the live device tree
  - create the overlay changeset to reflect the contents of
    the overlay EDT
  - apply the overlay changeset, to modify the live device tree,
    potentially changing the maximum phandle value in the live
    device tree

There is currently no protection against two overlay applies
concurrently determining what range of phandle values are in use
in the live device tree, and subsequently changing that range.
Add a mutex to prevent multiple overlay applies from occurring
simultaneously.

Move of_resolve_phandles() into of_overlay_apply() so that it does not
have to be duplicated by each caller of of_overlay_apply().

The test in of_resolve_phandles() that the overlay tree is detached is
temporarily disabled so that old style overlay unittests do not fail.

Signed-off-by: Frank Rowand <frank.rowand@sony.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2017-10-17 20:47:27 -05:00
..
Kconfig drm/tilcdc: make fbdev support really optional 2016-07-18 09:11:38 +02:00
Makefile drm/tilcdc: fix include notation and remove -Iinclude/drm flag 2017-05-17 14:36:49 +02:00
tilcdc_crtc.c drm: Convert to using %pOF instead of full_name 2017-07-26 13:45:06 +02:00
tilcdc_drv.c drm/tilcdc: Use .dumb_map_offset and .dumb_destroy defaults 2017-07-29 13:58:26 +02:00
tilcdc_drv.h drm/tilcdc: Remove tilcdc_debugfs_cleanup() 2017-01-27 15:27:45 +01:00
tilcdc_external.c drm: convert drivers to use of_graph_get_remote_node 2017-04-06 17:00:27 -04:00
tilcdc_external.h drm/tilcdc: Add drm bridge support for attaching drm bridge drivers 2016-11-30 14:17:52 +02:00
tilcdc_panel.c drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
tilcdc_panel.h drm/tilcdc: add support for LCD panels (v5) 2013-02-19 17:57:45 -05:00
tilcdc_plane.c drm: Nuke drm_atomic_helper_plane_set_property 2017-08-08 14:45:16 +02:00
tilcdc_regs.h drm/tilcdc: Enable frame done irq and functionality for LCDC rev 1 2016-11-30 14:20:03 +02:00
tilcdc_slave_compat.c of: overlay: avoid race condition between applying multiple overlays 2017-10-17 20:47:27 -05:00
tilcdc_slave_compat.dts drm/tilcdc: Add DRM_TILCDC_SLAVE_COMPAT for ti,tilcdc,slave binding support 2015-05-27 13:13:33 +03:00
tilcdc_slave_compat.h drm/tilcdc: Add DRM_TILCDC_SLAVE_COMPAT for ti,tilcdc,slave binding support 2015-05-27 13:13:33 +03:00
tilcdc_tfp410.c drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
tilcdc_tfp410.h