mirror of
https://github.com/torvalds/linux.git
synced 2026-10-17 06:20:02 +02:00
On an of_property_read_u32() failure, rswitch_get_port_node() set port to NULL and jumped to the out label before releasing the reference the for_each_available_child_of_node() iterator was holding on it. Once port was overwritten with NULL, that reference could never be released since out: only put "ports", the parent node. Rework the function around for_each_available_child_of_node_scoped() instead of adding a manual of_node_put(), so the iterator's reference is dropped automatically on every exit path. Since port is the function's return value, take an explicit reference with of_node_get() on the match before breaking out of the loop. Signed-off-by: Manush Prajwal <manushprajwal555@gmail.com> Link: https://patch.msgid.link/6a882352.ee10049a.267d65.7a31@mx.google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| ravb_main.c | ||
| ravb_ptp.c | ||
| ravb.h | ||
| rcar_gen4_ptp.c | ||
| rcar_gen4_ptp.h | ||
| rswitch_l2.c | ||
| rswitch_l2.h | ||
| rswitch_main.c | ||
| rswitch.h | ||
| rtsn.c | ||
| rtsn.h | ||
| sh_eth.c | ||
| sh_eth.h | ||