linux/drivers/of
Frank Rowand 5801169a2e of: __of_detach_node() - remove node from phandle cache
Non-overlay dynamic devicetree node removal may leave the node in
the phandle cache.  Subsequent calls to of_find_node_by_phandle()
will incorrectly find the stale entry.  Remove the node from the
cache.

Add paranoia checks in of_find_node_by_phandle() as a second level
of defense (do not return cached node if detached, do not add node
to cache if detached).

Fixes: 0b3ce78e90 ("of: cache phandle nodes to reduce cost of of_find_node_by_phandle()")
Reported-by: Michael Bringmann <mwb@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org # v4.17+
Signed-off-by: Frank Rowand <frank.rowand@sony.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2018-12-21 12:42:36 -06:00
..
unittest-data of: overlay: check prevents multiple fragments touching same property 2018-11-08 22:12:03 -08:00
address.c of: Use of_node_name_eq for node name comparisons 2018-12-05 14:45:13 -06:00
base.c of: __of_detach_node() - remove node from phandle cache 2018-12-21 12:42:36 -06:00
device.c Merge branch 'yaml-bindings-for-v4.21' into dt/next 2018-12-13 11:20:36 -06:00
dynamic.c of: __of_detach_node() - remove node from phandle cache 2018-12-21 12:42:36 -06:00
fdt_address.c of: Use SPDX license tag for DT files 2018-01-08 08:22:45 -06:00
fdt.c OF: Add a warning in case chosen node is not present 2018-12-03 17:41:59 -06:00
irq.c iommu/of: make of_pci_map_rid() available for other devices too 2018-09-25 09:47:52 +02:00
Kconfig of: change overlay apply input data from unflattened to FDT 2018-03-04 00:29:24 -08:00
kobj.c of: overlay: add missing of_node_get() in __of_attach_node_sysfs 2018-11-08 22:10:53 -08:00
Makefile PCI: Move OF-related PCI functions into PCI core 2018-01-17 17:36:39 -06:00
of_mdio.c of: Convert to using %pOFn instead of device_node.name 2018-09-07 11:04:41 -05:00
of_net.c of_net: Implement of_get_nvmem_mac_address helper 2018-03-30 10:40:18 -04:00
of_numa.c of, numa: Validate some distance map rules 2018-11-08 12:44:34 -06:00
of_private.h of: __of_detach_node() - remove node from phandle cache 2018-12-21 12:42:36 -06:00
of_reserved_mem.c memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
overlay.c of: overlay: set node fields from properties when add new overlay node 2018-11-08 22:12:17 -08:00
pdt.c of/pdt: Remove unused of_pdt_build_more function ptr 2018-11-09 15:40:53 -06:00
platform.c Devicetree updates for 4.20: 2018-10-26 12:09:58 -07:00
property.c of: Use of_node_name_eq for node name comparisons 2018-12-05 14:45:13 -06:00
resolver.c of: Use of_node_name_eq for node name comparisons 2018-12-05 14:45:13 -06:00
unittest.c of: Use of_node_name_eq for node name comparisons 2018-12-05 14:45:13 -06:00