]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tty: serial: Fix refcount leak bug in ucc_uart.c
authorLiang He <windhl@126.com>
Sat, 18 Jun 2022 06:08:50 +0000 (14:08 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:38:18 +0000 (11:38 +0200)
[ Upstream commit d24d7bb2cd947676f9b71fb944d045e09b8b282f ]

In soc_info(), of_find_node_by_type() will return a node pointer
with refcount incremented. We should use of_node_put() when it is
not used anymore.

Acked-by: Timur Tabi <timur@kernel.org>
Signed-off-by: Liang He <windhl@126.com>
Link: https://lore.kernel.org/r/20220618060850.4058525-1-windhl@126.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/tty/serial/ucc_uart.c

index d6a8604157aba00a2182eb98e4fc81bbfd9182ac..d1fecc88330ec16e4571ca89286aecab7557454a 100644 (file)
@@ -1137,6 +1137,8 @@ static unsigned int soc_info(unsigned int *rev_h, unsigned int *rev_l)
                /* No compatible property, so try the name. */
                soc_string = np->name;
 
+       of_node_put(np);
+
        /* Extract the SOC number from the "PowerPC," string */
        if ((sscanf(soc_string, "PowerPC,%u", &soc) != 1) || !soc)
                return 0;