From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin via dri-devel Subject: [PATCH AUTOSEL 4.19 62/83] drm/sun4i: backend: add missing of_node_puts Date: Tue, 12 Feb 2019 21:36:40 -0500 Message-ID: <20190213023701.20286-62-sashal@kernel.org> References: <20190213023701.20286-1-sashal@kernel.org> Reply-To: Sasha Levin Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id DFB9B6E61E for ; Wed, 13 Feb 2019 02:38:45 +0000 (UTC) In-Reply-To: <20190213023701.20286-1-sashal@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Maxime Ripard , Julia Lawall , dri-devel@lists.freedesktop.org, Sasha Levin List-Id: dri-devel@lists.freedesktop.org RnJvbTogSnVsaWEgTGF3YWxsIDxKdWxpYS5MYXdhbGxAbGlwNi5mcj4KClsgVXBzdHJlYW0gY29t bWl0IDRiYjBlNmQ3MjU4MjEzZDQ4OTNjMmM4NzY3MTJmYmJhNDBlNzEyZmUgXQoKVGhlIGRldmlj ZSBub2RlIGl0ZXJhdG9ycyBwZXJmb3JtIGFuIG9mX25vZGVfZ2V0IG9uIGVhY2gKaXRlcmF0aW9u LCBzbyBhIGp1bXAgb3V0IG9mIHRoZSBsb29wIHJlcXVpcmVzIGFuIG9mX25vZGVfcHV0LgoKUmVt b3RlIGFuZCBwb3J0IGFsc28gaGF2ZSBhdWdtZW50ZWQgcmVmZXJlbmNlIGNvdW50cywgc28gZHJv cCB0aGVtCm9uIGVhY2ggaXRlcmF0aW9uIGFuZCBhdCB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbiwg cmVzcGVjdGl2ZWx5LgpSZW1vdGUgaXMgb25seSB1c2VkIGZvciB0aGUgYWRkcmVzcyBpdCBjb250 YWlucywgbm90IGZvciB0aGUKY29udGVudHMgb2YgdGhhdCBhZGRyZXNzLCBzbyB0aGUgcmVmZXJl bmNlIGNvdW50IGNhbiBiZSBkcm9wcGVkCmltbWVkaWF0ZWx5LgoKVGhlIHNlbWFudGljIHBhdGNo IHRoYXQgZml4ZXMgdGhlIGZpcnN0IHBhcnQgb2YgdGhpcyBwcm9ibGVtIGlzCmFzIGZvbGxvd3Mg KGh0dHA6Ly9jb2NjaW5lbGxlLmxpcDYuZnIpOgoKLy8gPHNtcGw+CkBACmV4cHJlc3Npb24gcm9v dCxlOwpsb2NhbCBpZGV4cHJlc3Npb24gY2hpbGQ7Cml0ZXJhdG9yIG5hbWUgZm9yX2VhY2hfY2hp bGRfb2Zfbm9kZTsKQEAKCiBmb3JfZWFjaF9hdmFpbGFibGVfY2hpbGRfb2Zfbm9kZShyb290LCBj aGlsZCkgewogICAuLi4gd2hlbiAhPSBvZl9ub2RlX3B1dChjaGlsZCkKICAgICAgIHdoZW4gIT0g ZSA9IGNoaWxkCisgIG9mX25vZGVfcHV0KGNoaWxkKTsKPyAgYnJlYWs7CiAgIC4uLgp9Ci4uLiB3 aGVuICE9IGNoaWxkCi8vIDwvc21wbD4KClNpZ25lZC1vZmYtYnk6IEp1bGlhIExhd2FsbCA8SnVs aWEuTGF3YWxsQGxpcDYuZnI+ClNpZ25lZC1vZmYtYnk6IE1heGltZSBSaXBhcmQgPG1heGltZS5y aXBhcmRAYm9vdGxpbi5jb20+Ckxpbms6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9y Zy9wYXRjaC9tc2dpZC8xNTQ3MzY5MjY0LTI0ODMxLTUtZ2l0LXNlbmQtZW1haWwtSnVsaWEuTGF3 YWxsQGxpcDYuZnIKU2lnbmVkLW9mZi1ieTogU2FzaGEgTGV2aW4gPHNhc2hhbEBrZXJuZWwub3Jn PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9iYWNrZW5kLmMgfCA1ICsrKy0tCiAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9iYWNrZW5kLmMgYi9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNGlfYmFja2VuZC5jCmluZGV4IGQ3OTUwYjUyYTFmZC4uZTMwYjFmNWI5ZDkx IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfYmFja2VuZC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9iYWNrZW5kLmMKQEAgLTcxNywxNyArNzE3LDE4 IEBAIHN0YXRpYyBzdHJ1Y3Qgc3VuNGlfZnJvbnRlbmQgKnN1bjRpX2JhY2tlbmRfZmluZF9mcm9u dGVuZChzdHJ1Y3Qgc3VuNGlfZHJ2ICpkcnYsCiAJCXJlbW90ZSA9IG9mX2dyYXBoX2dldF9yZW1v dGVfcG9ydF9wYXJlbnQoZXApOwogCQlpZiAoIXJlbW90ZSkKIAkJCWNvbnRpbnVlOworCQlvZl9u b2RlX3B1dChyZW1vdGUpOwogCiAJCS8qIGRvZXMgdGhpcyBub2RlIG1hdGNoIGFueSByZWdpc3Rl cmVkIGVuZ2luZXM/ICovCiAJCWxpc3RfZm9yX2VhY2hfZW50cnkoZnJvbnRlbmQsICZkcnYtPmZy b250ZW5kX2xpc3QsIGxpc3QpIHsKIAkJCWlmIChyZW1vdGUgPT0gZnJvbnRlbmQtPm5vZGUpIHsK LQkJCQlvZl9ub2RlX3B1dChyZW1vdGUpOwogCQkJCW9mX25vZGVfcHV0KHBvcnQpOworCQkJCW9m X25vZGVfcHV0KGVwKTsKIAkJCQlyZXR1cm4gZnJvbnRlbmQ7CiAJCQl9CiAJCX0KIAl9Ci0KKwlv Zl9ub2RlX3B1dChwb3J0KTsKIAlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIH0KIAotLSAKMi4x OS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9008AC282C4 for ; Wed, 13 Feb 2019 02:51:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5B94B21934 for ; Wed, 13 Feb 2019 02:51:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550026309; bh=auGgXHbjXrRvxQnGp7euDhrpMalhxDYBK82cR69gHpM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=raLa3n24s57F8C5BbyLELXcRfL/is8F/FuCLpeBDh8C5sdPel/6hih+KE+f33HMZR 7PBpge6q7Em0QmRWKXueJXG0HbIBYbP9n3FFlAXns+uJPrNt2P/Uf6rHRXGnTwQ9Rw v+M7F7a+eWS60D2sATj3XPNuTQDxIy+rftXl+HaA= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389862AbfBMCvs (ORCPT ); Tue, 12 Feb 2019 21:51:48 -0500 Received: from mail.kernel.org ([198.145.29.99]:42336 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388600AbfBMCiq (ORCPT ); Tue, 12 Feb 2019 21:38:46 -0500 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0F414206B6; Wed, 13 Feb 2019 02:38:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550025525; bh=auGgXHbjXrRvxQnGp7euDhrpMalhxDYBK82cR69gHpM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=zWAIZCT90pnSAoJVoFGGWiqDjzRPOJfRs0NS1tZO9Bz62lE/Mo96yt2tZ9yAnVUmf qLK5vGjNIp5IiQ2NrThjISHchMdpcowmytRFISkovcETP145LHiKYWXm5QhUEzZPTH UIXlfOohY8e+UButF0oyXBjrZ/nBrnALF4+tfYVY= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Julia Lawall , Maxime Ripard , Sasha Levin , dri-devel@lists.freedesktop.org Subject: [PATCH AUTOSEL 4.19 62/83] drm/sun4i: backend: add missing of_node_puts Date: Tue, 12 Feb 2019 21:36:40 -0500 Message-Id: <20190213023701.20286-62-sashal@kernel.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190213023701.20286-1-sashal@kernel.org> References: <20190213023701.20286-1-sashal@kernel.org> MIME-Version: 1.0 X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Julia Lawall [ Upstream commit 4bb0e6d7258213d4893c2c876712fbba40e712fe ] The device node iterators perform an of_node_get on each iteration, so a jump out of the loop requires an of_node_put. Remote and port also have augmented reference counts, so drop them on each iteration and at the end of the function, respectively. Remote is only used for the address it contains, not for the contents of that address, so the reference count can be dropped immediately. The semantic patch that fixes the first part of this problem is as follows (http://coccinelle.lip6.fr): // @@ expression root,e; local idexpression child; iterator name for_each_child_of_node; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child + of_node_put(child); ? break; ... } ... when != child // Signed-off-by: Julia Lawall Signed-off-by: Maxime Ripard Link: https://patchwork.freedesktop.org/patch/msgid/1547369264-24831-5-git-send-email-Julia.Lawall@lip6.fr Signed-off-by: Sasha Levin --- drivers/gpu/drm/sun4i/sun4i_backend.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c b/drivers/gpu/drm/sun4i/sun4i_backend.c index d7950b52a1fd..e30b1f5b9d91 100644 --- a/drivers/gpu/drm/sun4i/sun4i_backend.c +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c @@ -717,17 +717,18 @@ static struct sun4i_frontend *sun4i_backend_find_frontend(struct sun4i_drv *drv, remote = of_graph_get_remote_port_parent(ep); if (!remote) continue; + of_node_put(remote); /* does this node match any registered engines? */ list_for_each_entry(frontend, &drv->frontend_list, list) { if (remote == frontend->node) { - of_node_put(remote); of_node_put(port); + of_node_put(ep); return frontend; } } } - + of_node_put(port); return ERR_PTR(-EINVAL); } -- 2.19.1