]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: renesas: rcar_drif: fix device node reference leak in rcar_drif_bond_enabled
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 5 Jan 2026 20:13:35 +0000 (15:13 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:10:09 +0000 (13:10 +0100)
[ Upstream commit 445e1658894fd74eab7e53071fa16233887574ed ]

The function calls of_parse_phandle() which returns
a device node with an incremented reference count. When the bonded device
is not available, the function
returns NULL without releasing the reference, causing a reference leak.

Add of_node_put(np) to release the device node reference.
The of_node_put function handles NULL pointers.

Found through static analysis by reviewing the doc of of_parse_phandle()
and cross-checking its usage patterns across the codebase.

Fixes: 7625ee981af1 ("[media] media: platform: rcar_drif: Add DRIF support")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/rcar_drif.c

index 1e3b68a8743af1bcd8aaeeaf008d1ed8ded927ed..c3e2e4b1b76c60e69eecd23447a07217e9eaadc2 100644 (file)
@@ -1253,6 +1253,7 @@ static struct device_node *rcar_drif_bond_enabled(struct platform_device *p)
        if (np && of_device_is_available(np))
                return np;
 
+       of_node_put(np);
        return NULL;
 }