linux/drivers/of/unittest-data
Frank Rowand 2fe0e8769d of: overlay: check prevents multiple fragments touching same property
Add test case of two fragments updating the same property.  After
adding the test case, the system hangs at end of boot, after
after slub stack dumps from kfree() in crypto modprobe code.

Multiple overlay fragments adding, modifying, or deleting the same
property is not supported.  Add check to detect the attempt and fail
the overlay apply.

Before this patch, the first fragment error would terminate
processing.  Allow fragment checking to proceed and report all
of the fragment errors before terminating the overlay apply. This
is not a hot path, thus not a performance issue (the error is not
transient and requires fixing the overlay before attempting to
apply it again).

After applying this patch, the devicetree unittest messages will
include:

   OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/rpm_avail

   ...

   ### dt-test ### end of unittest - 212 passed, 0 failed

The check to detect two fragments updating the same property is
folded into the patch that created the test case to maintain
bisectability.

Tested-by: Alan Tull <atull@kernel.org>
Signed-off-by: Frank Rowand <frank.rowand@sony.com>
2018-11-08 22:12:03 -08:00
..
Makefile of: overlay: check prevents multiple fragments touching same property 2018-11-08 22:12:03 -08:00
overlay_0.dts
overlay_1.dts
overlay_2.dts
overlay_3.dts
overlay_4.dts
overlay_5.dts
overlay_6.dts
overlay_7.dts
overlay_8.dts
overlay_9.dts
overlay_10.dts
overlay_11.dts
overlay_12.dts
overlay_13.dts
overlay_15.dts
overlay_bad_add_dup_node.dts
overlay_bad_add_dup_prop.dts of: overlay: check prevents multiple fragments touching same property 2018-11-08 22:12:03 -08:00
overlay_bad_phandle.dts
overlay_bad_symbol.dts
overlay_base.dts of: overlay: check prevents multiple fragments touching same property 2018-11-08 22:12:03 -08:00
overlay.dts
testcases.dts
tests-interrupts.dtsi
tests-match.dtsi
tests-overlay.dtsi
tests-phandle.dtsi
tests-platform.dtsi