interconnect: Treat xlate() returning NULL node as an error
authorMike Tipton <quic_mdtipton@quicinc.com>
Wed, 25 Oct 2023 14:58:29 +0000 (07:58 -0700)
committerGeorgi Djakov <djakov@kernel.org>
Wed, 22 Nov 2023 12:36:03 +0000 (14:36 +0200)
commitad2ab1297d0c80899125a842bb7a078abfe1e6ce
tree96347704f3dc86ab52be43eb0fffc1f8dc261c7f
parentb85ea95d086471afb4ad062012a4d73cd328fa86
interconnect: Treat xlate() returning NULL node as an error

Currently, if provider->xlate() or provider->xlate_extended()
"successfully" return a NULL node, then of_icc_get_from_provider() won't
consider that an error and will successfully return the NULL node. This
bypasses error handling in of_icc_get_by_index() and leads to NULL
dereferences in path_find().

This could be avoided by ensuring provider callbacks always return an
error for NULL nodes, but it's better to explicitly protect against this
in the common framework.

Fixes: 87e3031b6fbd ("interconnect: Allow endpoints translation via DT")
Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
Link: https://lore.kernel.org/r/20231025145829.11603-1-quic_mdtipton@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
drivers/interconnect/core.c