Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2418274imu; Sun, 13 Jan 2019 01:28:54 -0800 (PST) X-Google-Smtp-Source: ALg8bN7iwtU/ZwWpolHcP8cOnikvkTRBF7PXMBhfQ6L9zY5UPSOE0CtG9XUOxCrNHXQCjOgWBECR X-Received: by 2002:a63:a30a:: with SMTP id s10mr17894255pge.234.1547371734303; Sun, 13 Jan 2019 01:28:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547371734; cv=none; d=google.com; s=arc-20160816; b=kJ9brvyxOsNuQ+H9IX4H7upwqPfCsHF2gcsLC7JwqsnltOF8dbuhOggGIHez95gZHL Yz23t+2BHLX8vo8T4PkywcUzcuuKjMwRl3e91VYAxx1eP9sI7zGbyGD3ryX4SC0n3/fL ALJ5aZKonjtiLCUarwdJo07wmbXKsNlwyztJwyysrsmGwnqJKIKIV3UJRB7fiFTEJEvm F+HGtQOwp/pml8KJMOAdXS4kGqq0Gw3UZub7aNmRBGS+Grn/ps02LFHlEQEWiw8z1k/g xWoYSeNcLAakQjnJUdq6EGVIR1TlgIJPJUONysjNv0/1VPjH4C3cfjwY6B3TA4nDQ3j8 7xxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=TzS9GkHy3vhXJETj9r2diOBzvIis9aQNQ0DMyj32ENQ=; b=HbiluR9jY01HV8QRuFiZtyDT/BdHQqTnxuiV1CqT5JJYZYP7WgOrPRv8hYYiAKXeQC 2+5j0gD+m4UxUxQiu9/mNJUPLOqYLSfmsY4YLy78vpPYYFFJlybvh8Cdv8lLXIogN6cr Fp6psWBox0j5CKZsVT2O+bcRgEjbEkMfhEr+4VBKYYpeKHhEWOwC7MnQpDcUyVuW5vlr wk/UE0DRa1xq5NXSndoRnESQjwXaVF+iUT45FErXyHvZB8VP9Rusi60U1NoJAy34s7t/ 9Hn9JsBZGyfd/rV/rGmjY6pOig1Q9X8vjygpF59CmtFlqFUrIhrtXbJrhtJ3yfTM+DlO RnXg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q32si77691360pgm.410.2019.01.13.01.28.08; Sun, 13 Jan 2019 01:28:54 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726549AbfAMJYv (ORCPT + 99 others); Sun, 13 Jan 2019 04:24:51 -0500 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:60651 "EHLO mail3-relais-sop.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726465AbfAMJYu (ORCPT ); Sun, 13 Jan 2019 04:24:50 -0500 X-IronPort-AV: E=Sophos;i="5.56,473,1539640800"; d="scan'208";a="291725799" Received: from palace.lip6.fr ([132.227.105.202]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/AES128-SHA256; 13 Jan 2019 10:24:46 +0100 From: Julia Lawall To: CK Hu Cc: kernel-janitors@vger.kernel.org, Philipp Zabel , David Airlie , Daniel Vetter , Matthias Brugger , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] drm/mediatek: add missing of_node_puts Date: Sun, 13 Jan 2019 09:47:41 +0100 Message-Id: <1547369264-24831-2-git-send-email-Julia.Lawall@lip6.fr> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1547369264-24831-1-git-send-email-Julia.Lawall@lip6.fr> References: <1547369264-24831-1-git-send-email-Julia.Lawall@lip6.fr> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The device node iterators perform an of_node_get on each iteration, so a jump out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // @@ local idexpression n; expression e,e1; identifier l; @@ for_each_child_of_node(e1,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? goto l; ) ... } ... l: ... when != n // Signed-off-by: Julia Lawall --- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index 6422e99..b9205bf 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -522,12 +522,15 @@ static int mtk_drm_probe(struct platform_device *pdev) comp = devm_kzalloc(dev, sizeof(*comp), GFP_KERNEL); if (!comp) { ret = -ENOMEM; + of_node_put(node); goto err_node; } ret = mtk_ddp_comp_init(dev, node, comp, comp_id, NULL); - if (ret) + if (ret) { + of_node_put(node); goto err_node; + } private->ddp_comp[comp_id] = comp; }