From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.bootlin.com ([62.4.15.54]:60970 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751271AbeECQk0 (ORCPT ); Thu, 3 May 2018 12:40:26 -0400 From: Boris Brezillon To: David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, Thierry Reding , Eric Anholt , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , devicetree@vger.kernel.org Cc: Boris Brezillon , stable@vger.kernel.org Subject: [PATCH v2 1/6] drm/tegra: Fix a device_node leak when the DRM panel is not found Date: Thu, 3 May 2018 18:40:04 +0200 Message-Id: <20180503164009.14395-2-boris.brezillon@bootlin.com> In-Reply-To: <20180503164009.14395-1-boris.brezillon@bootlin.com> References: <20180503164009.14395-1-boris.brezillon@bootlin.com> Sender: stable-owner@vger.kernel.org List-ID: of_node_put(panel) is not called when of_drm_find_panel(panel) returns NULL, thus leaking the reference we hold on panel. Fixes: 9be7d864cf07 ("drm/tegra: Implement panel support") Cc: Signed-off-by: Boris Brezillon --- drivers/gpu/drm/tegra/output.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/tegra/output.c b/drivers/gpu/drm/tegra/output.c index ffe34bd0bb9d..676fd394836f 100644 --- a/drivers/gpu/drm/tegra/output.c +++ b/drivers/gpu/drm/tegra/output.c @@ -110,10 +110,9 @@ int tegra_output_probe(struct tegra_output *output) panel = of_parse_phandle(output->of_node, "nvidia,panel", 0); if (panel) { output->panel = of_drm_find_panel(panel); + of_node_put(panel); if (!output->panel) return -EPROBE_DEFER; - - of_node_put(panel); } output->edid = of_get_property(output->of_node, "nvidia,edid", &size); -- 2.14.1