From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 71CBE41BA75 for ; Mon, 3 Aug 2026 16:11:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785773502; cv=none; b=Z9VoWI/G6cAf3W9/lDbvSPfxEq9sjNBsjJCyXfTUQBUpvZqHTkRzVQb8an3emUmK6I8xVZqO21kbHxLSMPO9LAvhZdtQgp7kN7aMKB39TEQwPpqOk+tiJnqGukDpUuOqc8chKvusgl4Fj+rVCST/nYSkIyylyT6V6GKP+e0ObjE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785773502; c=relaxed/simple; bh=1914/fw+Fxj6W05SQ59nfIkVyGTvPvadr1OiGkJKAaE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pltiAIySIhT3E3La3GL8qvba008w6n7ewOSQppkYEBJ1RMvYqa9xEGyVpy0lE3Ecx/Hm0MqcSBnBSm8g+kgWk8dFxYDvqr66wJscwLX/mKU8a1RGvyBpHvJ4JifH6VViMfVbQeD0k/r0p+UO/3ToeHLOxxf1Eja9HG4BvgY1fcY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=NNGQqKwm; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="NNGQqKwm" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4954dff6536so15753405e9.0 for ; Mon, 03 Aug 2026 09:11:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785773498; x=1786378298; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=hC6MJ8bwLjjZgLx3/Q1ZtCKaKlgeak/LeNvekOVJvKg=; b=NNGQqKwmLMz+ZzQqCF92Zl9J9JbpqA2kFQ6Imi6k2vUmMykjoHl14NtUJt9Ks5QTQ+ SGmMHjv0eifAO0HJVRr0aeYwQ9ZXCN9OIRayhrPJDXdGsjJup2c2cUqVppKmZpsAo25d ZQl9KaQ9y742nAdAJN1KNNanxq+itCDndqmaBRUz167uGBMIc1ZpoFFVqz3fs7K8lEnM ZnN7DtjnraAhwmrQSE4atZmTSbx3FTyETOcfxBnVtav8B+PDu1Qis7IjnJpnHW9Vej34 MY/CemwXxfCu+8JuWmZkhgxsBUBJ7lN+x/y+x487mALMSDy8TvjHh/tf7IyDEr68lOCE hlvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785773498; x=1786378298; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=hC6MJ8bwLjjZgLx3/Q1ZtCKaKlgeak/LeNvekOVJvKg=; b=mI8Y3DXMc4EzkIl4L0MMfQMqV/FwjXfvAlD2FCp9QtyJa0tCncvFLnI9A8IYPlS4oD XKMBegG1ldneI2/zZQhTrghVWOAl3BoALhavvZ4yyr6yoRPmNxy3IEjQ/JZbOS3ePvuU 5GCdFDYavPKfCG1aa0s8WsUlV2XaWLxv6OzzZ8IO8AhRcGTBZAAaX1Lvc5USgxzGY2EM TIkEmtkkyFoVg5TaeflDtvJUIqFpye6py72/df2RfIZq4SIfJhQHjsofRmZ6dXDDcOr4 qfvQk2LbatB4oyDxB9ZVJIpC2jRH1pozrt4BVVIw3vmmCGZkjcDVZzaqfSr2nHEMZ1rB 15ig== X-Forwarded-Encrypted: i=1; AHgh+Rp4DLR06d6Fn5lbZV78tr4taJsPlcfb6wLOCrxMI+eRvyN7FwdfYLpPuKQzXopx2bkHYz2JAI1sT22zEF4=@vger.kernel.org X-Gm-Message-State: AOJu0YzIu1RsvJrZ200jc07T9VIfrdyDBFPmKmGdh6JB/g4dozUaagK+ WR/gSoQp/wxQilti4NSCakvc0S7hSEg1o+qDY5YiHD6Yot4jEjhnZH9z X-Gm-Gg: AR+sD12pyuTtFilKe0pk/ikqyJf03o/trS7eGwjF42h5breEfrLJfDBcvbS1qd8TYDF jUVauOiReQ/67qDoseS7L9CQTsOTfKH93YJiL0YANi2YzAWhWPypWdxTlCYhW8/TAm0VvUIGRlq 5Jx8OD32DsIOvkSWomfAljj7zPQw1QbrJCYaRREDqjz6QFZx14NCFKMkLVT9HTrGw3Qm3og9p5p HLA9Mtgn5Tf8/7g/WvXaC3vMDbJ8O3VB8jZIwTB9dNCXlX/oT0PEAyR8qG44uJFmL45087GdJHt hd3ZFowq6jDcqWan//AzyuXDchaU+8fTL7olzSaeICk6wGf7wI/03I82H8Bb76fn5uKfhz4nxix C6ptUP/dz6IYbfIS5jG/bwn5qxaQKTwwYFQ99TmCvb0zmqCqQAlHe0IxldZnPO9Qn4IaZItmP4a 1BU4HrJoqQNS0W+HfYusI3Ltsx4QhBUNgABr80LFKiWGDnCZmwARLP43E1CaVEaUIJKzzONmjbr dO2X42o/GG5JS6RJJ9tbohJ5qPJS8o27xlAAE0V0uOa14J+RCQ412E8e4CYcD5c+6kdEtCgMt4A QFq5+rrYj0mmcpYjVGCawer2Eol2nJ0U35X/OYiNa7ArLEt33poisC9HFElEQec9+BC54II9MuU yBBkJ0dcB9HkaiMDrg1loGsFkiRy2BiQcCBVOMZkykbHRTNrP4K0g4By9Eh/Coict32NZ6mfogc ZLpw== X-Received: by 2002:a05:600c:4e8c:b0:492:3e69:a86f with SMTP id 5b1f17b1804b1-4980c66c82dmr193167225e9.1.1785773498389; Mon, 03 Aug 2026 09:11:38 -0700 (PDT) Received: from jernej-laptop (APN-122-100-117-gprs.simobil.net. [46.122.100.117]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49949fc2da2sm3363735e9.3.2026.08.03.09.11.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 09:11:38 -0700 (PDT) From: Jernej Skrabec To: wens@kernel.org Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, samuel@sholland.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Jernej Skrabec Subject: [PATCH 11/13] drm/sun4i: Drop node references while building component list Date: Mon, 3 Aug 2026 18:10:49 +0200 Message-ID: <759c74e3a22b97ca066ef7910ca4b91b852011e6.1785772659.git.jernej.skrabec@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Two references are leaked every time the display pipeline is walked: the output port node in sun4i_drv_traverse_endpoints(), which was never released since the driver was introduced, and each node taken out of the endpoint fifo in sun4i_drv_probe(), which stopped being released when the fifo was introduced. The latter is still safe to drop right after processing, since drm_of_component_match_add() takes its own reference. Fixes: 9026e0d122ac ("drm: Add Allwinner A10 Display Engine support") Fixes: 8b11aaface2b ("drm/sun4i: Implement endpoint parsing using kfifo") Signed-off-by: Jernej Skrabec --- drivers/gpu/drm/sun4i/sun4i_drv.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 8a409eee1dca..e9baca360160 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -289,6 +289,8 @@ static void sun4i_drv_traverse_endpoints(struct endpoint_list *list, kfifo_put(&list->fifo, remote); } + + of_node_put(port); } static int sun4i_drv_add_endpoints(struct device *dev, @@ -394,6 +396,7 @@ static int sun4i_drv_probe(struct platform_device *pdev) /* process this endpoint */ ret = sun4i_drv_add_endpoints(&pdev->dev, &list, &match, endpoint); + of_node_put(endpoint); /* sun4i_drv_add_endpoints can fail to allocate memory */ if (ret < 0) -- 2.43.0