aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang He <windhl@126.com>2022-06-18 14:08:50 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-06-27 14:36:07 +0200
commitd24d7bb2cd947676f9b71fb944d045e09b8b282f (patch)
treee052a5e4dd1c54171feff4039648a8b743b3cc4a
parentdrivers: tty: serial: Add missing of_node_put() in serial-tegra.c (diff)
downloadlinux-dev-d24d7bb2cd947676f9b71fb944d045e09b8b282f.tar.xz
linux-dev-d24d7bb2cd947676f9b71fb944d045e09b8b282f.zip
tty: serial: Fix refcount leak bug in ucc_uart.c
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>
-rw-r--r--drivers/tty/serial/ucc_uart.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/tty/serial/ucc_uart.c b/drivers/tty/serial/ucc_uart.c
index 6000853973c1..3cc9ef08455c 100644
--- a/drivers/tty/serial/ucc_uart.c
+++ b/drivers/tty/serial/ucc_uart.c
@@ -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;