From nobody Sat Apr 4 03:19:57 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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 C2FCD37CD29 for ; Sat, 21 Mar 2026 13:13:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774098788; cv=none; b=fgUBAVj6V3Ea4uH285gVgHaN8fkgN+/WQCXUSBfXotB4G4t3NsKoXH9o2SHGLdKG3rlgLtQVA/ileUBD2d4jrf6gosGtIbKT4V/JnCku1oOxt0pDgyyq4zvXD1+PL8/6pEfHFa/T2NVfIEixYcJlkcf5awfJ6h7X7vDBdc31KLo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774098788; c=relaxed/simple; bh=XCNqqyh87Kly70H6sujbdS2tPQXNb5tJjEy3opU1vkU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=orpZkkAyF0VdXMo3F4DbqXWsc/GtfSZv2B4tr0sWmGebYWCytqQd7TYnl93/S639/4MtvxJoF8M6+bKBgfhYmBmLazdKr1riwW1fPtO/F27ZJTj/g6yk6VJUZMdYZGRXb8OLymXGFzIr3eKaHND5b5xVD/cunnjEezzjTnkEmNc= 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=BdBeeZwk; arc=none smtp.client-ip=209.85.210.175 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="BdBeeZwk" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-82c2239140aso425887b3a.0 for ; Sat, 21 Mar 2026 06:13:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1774098786; x=1774703586; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=GtCnn+XGQnhaTcOtbdLAx0qlU0NBtVLiSxgKFKna5i4=; b=BdBeeZwkgVPmm8RD9D5AZ/dSa5j+jpqytWpuKaNU40aeGI9Wafzc55zWdNmyloxsTt 1+W8+KykukRElTgFs+kK41A6SN/606BhCHzJnXM++ss8rKLU8slEpfRnGRaa+ZC+weuQ N9lBaHae1MWmcq5swYhP5Q/WYAB1xTQsWCLnKo1t1sS/xi2h/Q7fut7RniZiuHqXdiZb zmHLdZGLbfN+gP7Rh1FoHrW5roXJ5BHjZtbIMkbjPf+gwUhk247KMZjN01t4Fj7Fm90k Fb2/MCoVJuYPSJYFf972LWXHVTiZcpp7yvbxcNwSkri0tTjOsIyx04u21TmYS5LVkhAm crKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774098786; x=1774703586; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=GtCnn+XGQnhaTcOtbdLAx0qlU0NBtVLiSxgKFKna5i4=; b=gpcDctSTAzrWELG86rNCkYgZa/mrT1Vxft+Gajr17ZbUVwWRmG4uiOvQ/bkpuEmK/x yzW6oGb26+qwZnLcJF74SaZBkxbZ/yQ6CzoRNcjIHwEzz/v1iAKV0cS3AUC1b4s3fpkg NdHxUD8pUYz/z8dg/Pne0+RIom1OVqt5KNUrCMRNzhnChOEA8GQCBmmmq5vXHeRXvTbq GzaHRlYuVuY1D6G1yc8bcxNCXFXnLJwtlhxasDCcrV8xv73n2V+u01ASYyG++Dwi0TNM cktNzDLEMXsiIG4stj40+X+1f7/5gaNOxMwC1aZoK47h0E6xwqDLp0mq/ne9mUfbwZ0R hMKA== X-Forwarded-Encrypted: i=1; AJvYcCW/NehIVVowut9z6v11z6O4/bMQVsuGNSfnDyRrmUbkqTH8TMk0C7b0l2CeIq/JnjeMjOPfqdiDfWJgWGg=@vger.kernel.org X-Gm-Message-State: AOJu0YxlPwWYgwOTaFbKGf4VubkEYe9qO4l7EjIaV+fJGmiZFlbWt7ER 26dfXCtwy54txZHlZHIq/L64Ufph3XAtwk5hh3nezMECDTNYGM+5k+Zp X-Gm-Gg: ATEYQzxIud69yC1Qi3xvyiQtBA73OPkKeeS2buzeU0h67dnadcpwDhLA9L+Gqg8Yl/9 xnX/Af1e+gwHTfKeVsHaGrVnTNCaz8hhNILrsdacbimkZCCZTiVDXkUiHIgpysxv3plpfDH0sW7 Y20GdtFqj2d2/tPNxWVq287g8pvFNoH4SlDK4ZZqs3sRL2x3Wh0aQKf+LGYe2Zd/hQp5tu+utZT myfwDN/fMq/fbGWCPpHfIh1tjFUGy1nRCmmrwopSvXwQ9FNs8MX0kt2Etuy0wcG9E2RUwxPFD2M xpJzsv/2Efh6foNybOb+9QjG6dBM1Pjhvo2oh+A8uYRqTwCUyFlv9ViqRuCI1ury4SgEhoX9E+v v6fnnxnQd4XA1oeD0ERTuwQnVMNXOD2EPnYrQDz6UgyfpFucppRVvg2I17NRfO3W5JnM6/sTuQV +HQM6kL2lezqXR39cqqM57w/HSSbTSMX5Zv4dy X-Received: by 2002:a05:6a00:230a:b0:829:8a84:b9fc with SMTP id d2e1a72fcca58-82a8c247dfdmr4710830b3a.8.1774098785986; Sat, 21 Mar 2026 06:13:05 -0700 (PDT) Received: from junjungu-PC.localdomain ([223.167.147.240]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82b040db767sm5000809b3a.51.2026.03.21.06.13.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Mar 2026 06:13:05 -0700 (PDT) From: Felix Gu Date: Sat, 21 Mar 2026 21:12:54 +0800 Subject: [PATCH v2 1/3] media: ti: vpe: Fix fwnode_handle leak in vip_probe_complete() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260321-vip-v2-1-d502c1954817@gmail.com> References: <20260321-vip-v2-0-d502c1954817@gmail.com> In-Reply-To: <20260321-vip-v2-0-d502c1954817@gmail.com> To: Yemike Abhilash Chandra , Mauro Carvalho Chehab , Dale Farnsworth , Benoit Parrot , Hans Verkuil , Sukrut Bellary Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Felix Gu X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1774098779; l=1901; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=XCNqqyh87Kly70H6sujbdS2tPQXNb5tJjEy3opU1vkU=; b=5g2ESZGMyyViAi1vN4AcflT55JV1iBiyWJpV3haue90raHopH+DJUPw1CAnscAO79jDYSBX7R 25tIMYYB3iAAAfG2Urd3r4arnxuu1n+3v/01X2WMHEKmPgNPG9y7Rix X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= In vip_probe_complete(), the fwnode_handle reference is not released if the loop continues via the default switch case or if alloc_port() fails. This results in a reference count leak. Switch to using the __free(fwnode_handle) cleanup attribute to ensure the reference is automatically released when the handle goes out of scope. Fixes: fc2873aa4a21 ("media: ti: vpe: Add the VIP driver") Signed-off-by: Felix Gu --- drivers/media/platform/ti/vpe/vip.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/ti/vpe/vip.c b/drivers/media/platform/t= i/vpe/vip.c index a4b616a5ece7..4fe9e059313b 100644 --- a/drivers/media/platform/ti/vpe/vip.c +++ b/drivers/media/platform/ti/vpe/vip.c @@ -9,6 +9,7 @@ */ =20 #include +#include #include #include #include @@ -3389,7 +3390,6 @@ static int vip_probe_complete(struct platform_device = *pdev) struct vip_port *port; struct vip_dev *dev; struct device_node *parent =3D pdev->dev.of_node; - struct fwnode_handle *ep =3D NULL; unsigned int syscon_args[5]; int ret, i, slice_id, port_id, p; =20 @@ -3411,8 +3411,8 @@ static int vip_probe_complete(struct platform_device = *pdev) ctrl->syscon_bit_field[i] =3D syscon_args[i + 1]; =20 for (p =3D 0; p < (VIP_NUM_PORTS * VIP_NUM_SLICES); p++) { - ep =3D fwnode_graph_get_next_endpoint_by_regs(of_fwnode_handle(parent), - p, 0); + struct fwnode_handle *ep __free(fwnode_handle) =3D + fwnode_graph_get_next_endpoint_by_regs(of_fwnode_handle(parent), p, 0); if (!ep) continue; =20 @@ -3447,7 +3447,6 @@ static int vip_probe_complete(struct platform_device = *pdev) port =3D dev->ports[port_id]; =20 vip_register_subdev_notify(port, ep); - fwnode_handle_put(ep); } return 0; } --=20 2.43.0