1
linux/drivers/of/unittest-data
Christian A. Ehrhardt 4dde835698 of: Fix double free in of_parse_phandle_with_args_map
In of_parse_phandle_with_args_map() the inner loop that
iterates through the map entries calls of_node_put(new)
to free the reference acquired by the previous iteration
of the inner loop. This assumes that the value of "new" is
NULL on the first iteration of the inner loop.

Make sure that this is true in all iterations of the outer
loop by setting "new" to NULL after its value is assigned to "cur".

Extend the unittest to detect the double free and add an additional
test case that actually triggers this path.

Fixes: bd6f2fd5a1 ("of: Support parsing phandle argument lists through a nexus node")
Cc: Stephen Boyd <stephen.boyd@linaro.org>
Signed-off-by: "Christian A. Ehrhardt" <lk@c--e.de>
Link: https://lore.kernel.org/r/20231229105411.1603434-1-lk@c--e.de
Signed-off-by: Rob Herring <robh@kernel.org>
2024-01-09 12:54:02 -06:00
..
Makefile
overlay_0.dtso
overlay_1.dtso
overlay_2.dtso
overlay_3.dtso
overlay_4.dtso
overlay_5.dtso
overlay_6.dtso
overlay_7.dtso
overlay_8.dtso
overlay_9.dtso
overlay_10.dtso
overlay_11.dtso
overlay_12.dtso
overlay_13.dtso
overlay_15.dtso
overlay_16.dtso
overlay_17.dtso
overlay_18.dtso
overlay_19.dtso
overlay_20.dtso
overlay_bad_add_dup_node.dtso
overlay_bad_add_dup_prop.dtso
overlay_bad_phandle.dtso
overlay_bad_symbol.dtso
overlay_bad_unresolved.dtso
overlay_base.dtso
overlay_common.dtsi
overlay_gpio_01.dtso
overlay_gpio_02a.dtso
overlay_gpio_02b.dtso
overlay_gpio_03.dtso
overlay_gpio_04a.dtso
overlay_gpio_04b.dtso
overlay_pci_node.dtso
overlay.dtso
static_base_1.dts
static_base_2.dts
testcases_common.dtsi
testcases.dtso
tests-address.dtsi
tests-interrupts.dtsi
tests-lifecycle.dtsi
tests-match.dtsi
tests-overlay.dtsi
tests-phandle.dtsi
tests-platform.dtsi