]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
watchdog: rti_wdt: Fix an OF node leak in rti_wdt_probe()
authorJoe Hattori <joe@pf.is.s.u-tokyo.ac.jp>
Sun, 5 Jan 2025 11:17:18 +0000 (20:17 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 8 Feb 2025 09:02:02 +0000 (10:02 +0100)
[ Upstream commit 143981aa63f33d469a55a55fd9fb81cd90109672 ]

rti_wdt_probe() does not release the OF node reference obtained by
of_parse_phandle(). Add a of_node_put() call.

This was found by an experimental verification tool that I am
developing. Due to the lack of the actual device, no runtime test was
able to be performed.

Fixes: f20ca595ae23 ("watchdog:rit_wdt: Add support for WDIOF_CARDRESET")
Signed-off-by: Joe Hattori <joe@pf.is.s.u-tokyo.ac.jp>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20250105111718.4184192-1-joe@pf.is.s.u-tokyo.ac.jp
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/watchdog/rti_wdt.c

index 58c9445c0f885ca44c221a2cc145fc7d56e55de1..255ece133576b444ecaf6efc0adce94f47e14d1e 100644 (file)
@@ -301,6 +301,7 @@ static int rti_wdt_probe(struct platform_device *pdev)
        node = of_parse_phandle(pdev->dev.of_node, "memory-region", 0);
        if (node) {
                ret = of_address_to_resource(node, 0, &res);
+               of_node_put(node);
                if (ret) {
                        dev_err(dev, "No memory address assigned to the region.\n");
                        goto err_iomap;