Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3614728pxb; Mon, 24 Jan 2022 13:33:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJwh9V5q3Pn1ZVBG4/bnStWAYPfYoAZEUGMsHkcGmv7QrwFBp3r5Oy+b7qo8t7yBdoZIN1jL X-Received: by 2002:a62:cdc2:0:b0:4c7:f9a5:ebc6 with SMTP id o185-20020a62cdc2000000b004c7f9a5ebc6mr9612032pfg.34.1643060039583; Mon, 24 Jan 2022 13:33:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643060039; cv=none; d=google.com; s=arc-20160816; b=CO0fuYLjGn2CTPT2cUiWPYF3qjss6toC8VeumdRyt2TZOjI1o1cPI89AyCKbieknu8 VfehdBFmcfd3MjD74WoGERtleXUtSEU4z0RksoM92wGwDgsgk9Ai8OetGyaZwi7IQ+/2 E8DX4eUIS71plQTu3NMKcn30cJmBLcTetdmdr1JY7Mhm8STr4Yj/e0cY9KMbdBLU1TTM YTwCaKXguJX0oVzycEoZSiqWcCuVgkct3ZaU5H/0846M6xmJAiuGD1WSINuuOuLoollM CXknNawYpww9QGaGe5WJapoDZH7dGR7nS0NuGPwRt0lP5yb5qHnYinsehEvcQPu2+sOy tBEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=a8a8lN+5KXB6mZxqNFviuZ1jOfplqKs33Dv9qgHuQXQ=; b=os2vmnjMXzfc7K+8gLqlfFs7aP5DEoJJiDgQ0MwtI6LgKl4f7A1awrAOc+hx2DchRh 0nKLOfVCZ7rbaCC8GlyZNdF/ixs/L76dc0JnBQDSPl3hLNVSfY0iR+qp4vTxVAj6wVaY xoRD5d+sb5Iv5w8SmNU6fgytC3fQECAKFVCK1hMuT4qUb5Kk29j4jfscQ6xzkhmDCqqy Pys+0ik2K/QERVrkVRtDjhq7Pvts3wt9odFvdPK9M9e5uBhipYDHhXrz9emFcY2+4+Bo R63L2UrEovsV1t/Zp92RKM8uChFEGn4B4rzZWvqPnSvXvxnTPzaeT9x11TmYPKVhA8u7 VbTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=2Pqtye1j; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w8si368140pjn.178.2022.01.24.13.33.46; Mon, 24 Jan 2022 13:33:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=2Pqtye1j; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1447229AbiAXVKO (ORCPT + 99 others); Mon, 24 Jan 2022 16:10:14 -0500 Received: from ams.source.kernel.org ([145.40.68.75]:46710 "EHLO ams.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1390720AbiAXUqG (ORCPT ); Mon, 24 Jan 2022 15:46:06 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 31C84B81061; Mon, 24 Jan 2022 20:46:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E2A1C340E5; Mon, 24 Jan 2022 20:46:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643057163; bh=1UkMZa/royLpHMxGh9IRPXpsoz9kl6dKbdO4wAyXQCA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2Pqtye1jbfVWluzV/MSxWVZLvYQ80GIYrpaeS3V/KSVGPzm0DxhMpPWfKDAoVeQVS 80Q4eYZ+2RV0RDJtVkWgtyKmjXz17LrK1MINnFo0IoM5jicNs8U8h/TeyfpepCt+JX XpZU9IdafJUZosqmGroTkvony6pgrEvuQFiVovNQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sakari Ailus , Andy Shevchenko , "Rafael J. Wysocki" Subject: [PATCH 5.15 689/846] device property: Fix fwnode_graph_devcon_match() fwnode leak Date: Mon, 24 Jan 2022 19:43:26 +0100 Message-Id: <20220124184124.825727206@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184100.867127425@linuxfoundation.org> References: <20220124184100.867127425@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sakari Ailus commit 4a7f4110f79163fd53ea65438041994ed615e3af upstream. For each endpoint it encounters, fwnode_graph_devcon_match() checks whether the endpoint's remote port parent device is available. If it is not, it ignores the endpoint but does not put the reference to the remote endpoint port parent fwnode. For available devices the fwnode handle reference is put as expected. Put the reference for unavailable devices now. Fixes: 637e9e52b185 ("device connection: Find device connections also from device graphs") Cc: 5.1+ # 5.1+ Signed-off-by: Sakari Ailus Reviewed-by: Andy Shevchenko Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman --- drivers/base/property.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/base/property.c +++ b/drivers/base/property.c @@ -1269,8 +1269,10 @@ fwnode_graph_devcon_match(struct fwnode_ fwnode_graph_for_each_endpoint(fwnode, ep) { node = fwnode_graph_get_remote_port_parent(ep); - if (!fwnode_device_is_available(node)) + if (!fwnode_device_is_available(node)) { + fwnode_handle_put(node); continue; + } ret = match(node, con_id, data); fwnode_handle_put(node);