Message ID | 20180625120304.7543-7-jernej.skrabec@siol.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jun 25, 2018 at 8:02 PM, Jernej Skrabec <jernej.skrabec@siol.net> wrote: > sun4i_drv_add_endpoints() has a memory leak since it uses of_node_put() > when remote is equal to NULL and does nothing when remote has a valid > pointer. > > Invert the logic to fix memory leak. > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> Given this is a fix, it should have Fixes and stable tags. ChenYu
Dne četrtek, 28. junij 2018 ob 03:53:36 CEST je Chen-Yu Tsai napisal(a): > On Mon, Jun 25, 2018 at 8:02 PM, Jernej Skrabec <jernej.skrabec@siol.net> wrote: > > sun4i_drv_add_endpoints() has a memory leak since it uses of_node_put() > > when remote is equal to NULL and does nothing when remote has a valid > > pointer. > > > > Invert the logic to fix memory leak. > > > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> > > Given this is a fix, it should have Fixes and stable tags. How should be this handled given that the patch is already merged and cannot be dropped? Best regards, Jernej
On Sat, Jun 30, 2018 at 3:15 AM, Jernej Škrabec <jernej.skrabec@siol.net> wrote: > Dne četrtek, 28. junij 2018 ob 03:53:36 CEST je Chen-Yu Tsai napisal(a): >> On Mon, Jun 25, 2018 at 8:02 PM, Jernej Skrabec <jernej.skrabec@siol.net> > wrote: >> > sun4i_drv_add_endpoints() has a memory leak since it uses of_node_put() >> > when remote is equal to NULL and does nothing when remote has a valid >> > pointer. >> > >> > Invert the logic to fix memory leak. >> > >> > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> >> >> Given this is a fix, it should have Fixes and stable tags. > > How should be this handled given that the patch is already merged and cannot > be dropped? We can't. We'll have to manually submit it for stable once this lands in Linus' tree. ChenYu
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..e15fa2389e3f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -283,7 +283,6 @@ static int sun4i_drv_add_endpoints(struct device *dev, remote = of_graph_get_remote_port_parent(ep); if (!remote) { DRM_DEBUG_DRIVER("Error retrieving the output node\n"); - of_node_put(remote); continue; } @@ -297,11 +296,13 @@ static int sun4i_drv_add_endpoints(struct device *dev, if (of_graph_parse_endpoint(ep, &endpoint)) { DRM_DEBUG_DRIVER("Couldn't parse endpoint\n"); + of_node_put(remote); continue; } if (!endpoint.id) { DRM_DEBUG_DRIVER("Endpoint is our panel... skipping\n"); + of_node_put(remote); continue; } }
sun4i_drv_add_endpoints() has a memory leak since it uses of_node_put() when remote is equal to NULL and does nothing when remote has a valid pointer. Invert the logic to fix memory leak. Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)