diff options
| author | Joe Hattori <joe@pf.is.s.u-tokyo.ac.jp> | 2025-01-08 10:15:37 +0900 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-02-21 13:49:16 +0100 |
| commit | 56393248451bba7c4679a3f30e1b70793da4dd88 (patch) | |
| tree | 50c7fdafb04d7d6351818037ebc3eb55fadba2e3 /drivers/video | |
| parent | df23e33009a94557a5448da8403c9bd10bd1f30c (diff) | |
| download | linux-56393248451bba7c4679a3f30e1b70793da4dd88.tar.gz linux-56393248451bba7c4679a3f30e1b70793da4dd88.tar.bz2 linux-56393248451bba7c4679a3f30e1b70793da4dd88.zip | |
fbdev: omapfb: Fix an OF node leak in dss_of_port_get_parent_device()
[ Upstream commit de124b61e179e690277116e6be512e4f422b5dd8 ]
dss_of_port_get_parent_device() leaks an OF node reference when i >= 2
and struct device_node *np is present. Since of_get_next_parent()
obtains a reference of the returned OF node, call of_node_put() before
returning NULL.
This was found by an experimental verifier that I am developing, and no
runtime test was able to be performed due to that lack of actual
devices.
Fixes: f76ee892a99e ("omapfb: copy omapdss & displays for omapfb")
Signed-off-by: Joe Hattori <joe@pf.is.s.u-tokyo.ac.jp>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/video')
| -rw-r--r-- | drivers/video/fbdev/omap2/omapfb/dss/dss-of.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c index 0282d4eef139..3b16c3342cb7 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c @@ -102,6 +102,7 @@ struct device_node *dss_of_port_get_parent_device(struct device_node *port) np = of_get_next_parent(np); } + of_node_put(np); return NULL; } |
