From nobody Mon Apr 6 23:07:11 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 E259D346AC2 for ; Tue, 17 Mar 2026 17:22:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773768125; cv=none; b=MLNIyMXbwnnvsAHjSzB/1KLkj4yu0f+9fshYYiVu+ZQtvpjxAmEC9e98r9DxMXNmkkhS14MKias0FaI/RCjsbFwN/D2o/GDVmjMbCnWKfV/RyShxDaEvXP46/vRz80LYKkoi4L477lSxConztoG4RhHHRTABMe6MAx2Jn5t8sz8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773768125; c=relaxed/simple; bh=LX3WrCkmBT80+WbDdsLXcY90w5LjQ8QZ9GC6fBf1zns=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ozthaIJT0wL96DjVsPLg8nPWDODrAMISQICpwXT9P0hbnVeRgnQ8lrW4lUqtivDDUd3v23urmybBjtEvKGGP1WRuhmZL0G2uy7fCvTyWuV/5h7BO45b1qIjHJE+c1OnfFw+AWkI/xC7zfCoPZGG4GxPNNldMljTCgGMBr8cDPR8= 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=ZwWjso2B; arc=none smtp.client-ip=209.85.214.171 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="ZwWjso2B" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2aaf59c4f7cso28994705ad.1 for ; Tue, 17 Mar 2026 10:22:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773768120; x=1774372920; 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=RlnnacpIBF5tbzl0VRGQD3bXIyCs0S6ifDpvfz5RffI=; b=ZwWjso2BDsDibWKEjAvLLKrT3CgpCFHL6uLGbycSIjCTXhuL8XhW0WGojttB5vkqF+ rTxyf/j6FjnsjUCriNwASxcWFNoaLrx9EkgmDJHCplW2Y1C2LxkZRSrEEECEvCDkYHNa Gbv0XP+E6cdSlxTRVH4FnT6+yyOqjz+OwQOXVgOjgJbTUtu5sH+4uWCoE3FlZ9aXFVPF KH3NnhSZ0uwtFV+2+pmV9ebOehAT98cDfhXx55DxXUBio3G4JdqPlNSJ65jEhRP2Uywp mbMn6GWTZNOVJdz+xfJCyVZWApKlgI/geRsOe3OKw2xw9lYvk4+GXh4/f6CyIx9/m6E2 cAeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773768120; x=1774372920; 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=RlnnacpIBF5tbzl0VRGQD3bXIyCs0S6ifDpvfz5RffI=; b=Ub48NhHoa5qB3lSpJfgk7LsV70mFjsenIt2ZIq02V+X0uGCV+Lnx9YJMMgE53R/zqR lBigazQpYF+4nnecu+yx/QADhgkPFWXzSrHZjCoDWrbFlwo4Qg/JkflcMNymDx1Z4tNG MFfhNfXh+89d8wmgdiBuOp0AgP/dQYuI9fmae+nEWDtaLUGqes30MxEhrRNuDiMAgqaE rMuIRtinMpMukP2UVmQeHuXvsaKIsLJkFqHu2ZnOOnQeaXaHangOyE+5LQpUhfQXnRYR WKxxTehijkuTKe7gLaHi5quBcPRXsP5R9DV4rUCD/EZknhOrtlvzhkZuDnTXSv6+SjEJ qaHA== X-Forwarded-Encrypted: i=1; AJvYcCUzCalo2D3EPqyBop6tJmETUDP6vySiWYwv56JDRO+VpZ6IdmpHwPnQUjavYWEuMCCEH/Nib04UNF4ii1Y=@vger.kernel.org X-Gm-Message-State: AOJu0YybYbY8nup/r6CPEjD1qkDH02QxzcOaIpeFtXprmnLy8mn4h0Cp Yp85dBTqnE0Eo5s3KMoW0JbZJKWeCUUdNjRWZbZHZcWWkL9f6BT1dMEI X-Gm-Gg: ATEYQzzY3eHIIe1EkSCbTSGVQqmqJAfzA7b0RVVgDDuJF9I+EtR6IU8shpJCT+SxzZb FGFb4No0+ajtb3yKVvYKbEOQ6+GlZsL458j8dYp2JmEwpzsArlkXn4on5TXHIgddaVX9wR5CGyc mee2LZgPobLLeaynPexMVc8dbqjGWBPRBmzkR8AH/1ktAhg3Keyw5SYTjCuN3S1IS6Cx5rKVQmU HA9TaRK5JJkE7eCLoyifpB8V/YpKSlB/FkQMr61K+egboAD7u30WBxxH/XKp88KF3jNODQoMID0 zuxO6NSFw1j5PUCpBh6e3nVNtS1/loByMnQzuTo1DT8sr+LIdpaQo3GU2MAD+K2df1UCbIyVYoV OeVeeqm+kqiyCUxakSFe+8BMigv14DrkFpLVUc32RWm7kd+ZeNpnB7fYO6TB/bU3y6RqfWr6C8x Kou5yu4x0knWBjvbIf+Y2FV+c2k9mHvNaDsoHA+jUjDomRYEQ= X-Received: by 2002:a17:903:19e6:b0:2b0:59c4:e9e2 with SMTP id d9443c01a7336-2b06e2da870mr3486765ad.2.1773768120187; Tue, 17 Mar 2026 10:22:00 -0700 (PDT) Received: from junjungu-PC.localdomain ([223.167.147.240]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e608a66sm934825ad.61.2026.03.17.10.21.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 10:21:59 -0700 (PDT) From: Felix Gu Date: Wed, 18 Mar 2026 01:21:53 +0800 Subject: [PATCH 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: <20260318-vip-v1-1-5fdcdbd01829@gmail.com> References: <20260318-vip-v1-0-5fdcdbd01829@gmail.com> In-Reply-To: <20260318-vip-v1-0-5fdcdbd01829@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=1773768115; l=1909; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=LX3WrCkmBT80+WbDdsLXcY90w5LjQ8QZ9GC6fBf1zns=; b=4rD6cG3wRc8/1B34vC8AbbcZ0qq3UmKAa6j6mkH84dCPLJz4IgcTlx8eCBCDAcqNJ+jzhs/pu +opfntOaohwCMpz4MD8Wle2TxrN5oGdhWyoz9hRVRRjG0EpCLXXdmiK 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 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/ti/vpe/vip.c b/drivers/media/platform/t= i/vpe/vip.c index a4b616a5ece7..01d27769cd10 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,9 @@ 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 +3448,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