Re: [PATCH] of: Fix error path in of_parse_phandle_with_args_map()

From: Rob Herring (Arm)
Date: Tue Dec 03 2024 - 14:32:16 EST



On Mon, 02 Dec 2024 17:58:19 +0100, Herve Codina wrote:
> The current code uses some 'goto put;' to cancel the parsing operation
> and can lead to a return code value of 0 even on error cases.
>
> Indeed, some goto calls are done from a loop without setting the ret
> value explicitly before the goto call and so the ret value can be set to
> 0 due to operation done in previous loop iteration. For instance match
> can be set to 0 in the previous loop iteration (leading to a new
> iteration) but ret can also be set to 0 it the of_property_read_u32()
> call succeed. In that case if no match are found or if an error is
> detected the new iteration, the return value can be wrongly 0.
>
> Avoid those cases setting the ret value explicitly before the goto
> calls.
>
> Fixes: bd6f2fd5a1d5 ("of: Support parsing phandle argument lists through a nexus node")
> Cc: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx>
> ---
> drivers/of/base.c | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>

Applied, thanks!