Skip to content

Commit 3c6b7e9

Browse files
joehattoriSasha Levin
authored andcommitted
media: platform: exynos4-is: Fix an OF node reference leak in fimc_md_is_isp_available
commit 8964eb2 upstream. In fimc_md_is_isp_available(), of_get_child_by_name() is called to check if FIMC-IS is available. Current code does not decrement the refcount of the returned device node, which causes an OF node reference leak. Fix it by calling of_node_put() at the end of the variable scope. Signed-off-by: Joe Hattori <[email protected]> Fixes: e781bbe ("[media] exynos4-is: Add fimc-is subdevs registration") Cc: [email protected] Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> [hverkuil: added CC to stable] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 11f3cb7 commit 3c6b7e9

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

drivers/media/platform/samsung/exynos4-is/media-dev.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,9 @@ int fimc_md_set_camclk(struct v4l2_subdev *sd, bool on);
179179
#ifdef CONFIG_OF
180180
static inline bool fimc_md_is_isp_available(struct device_node *node)
181181
{
182-
node = of_get_child_by_name(node, FIMC_IS_OF_NODE_NAME);
183-
return node ? of_device_is_available(node) : false;
182+
struct device_node *child __free(device_node) =
183+
of_get_child_by_name(node, FIMC_IS_OF_NODE_NAME);
184+
return child ? of_device_is_available(child) : false;
184185
}
185186
#else
186187
#define fimc_md_is_isp_available(node) (false)

0 commit comments

Comments
 (0)