]> git.baikalelectronics.ru Git - kernel.git/commitdiff
firmware: Hold a reference for of_find_compatible_node()
authorLiang He <windhl@126.com>
Tue, 28 Jun 2022 02:16:40 +0000 (10:16 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Jul 2022 08:36:04 +0000 (10:36 +0200)
In of_register_trusted_foundations(), we need to hold the reference
returned by of_find_compatible_node() and then use it to call
of_node_put() for refcount balance.

Signed-off-by: Liang He <windhl@126.com>
Link: https://lore.kernel.org/r/20220628021640.4015-1-windhl@126.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/firmware/trusted_foundations.h

index be5984bda5921c62dded0a934b78df3cc8120469..931b6c5c72dfa7cf3fe236deb13dadc7a32fb3ab 100644 (file)
@@ -71,12 +71,16 @@ static inline void register_trusted_foundations(
 
 static inline void of_register_trusted_foundations(void)
 {
+       struct device_node *np = of_find_compatible_node(NULL, NULL, "tlm,trusted-foundations");
+
+       if (!np)
+               return;
+       of_node_put(np);
        /*
         * If we find the target should enable TF but does not support it,
         * fail as the system won't be able to do much anyway
         */
-       if (of_find_compatible_node(NULL, NULL, "tlm,trusted-foundations"))
-               register_trusted_foundations(NULL);
+       register_trusted_foundations(NULL);
 }
 
 static inline bool trusted_foundations_registered(void)