From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (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 294E7371063 for ; Mon, 9 Feb 2026 18:47:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770662846; cv=none; b=g+cNvocsE4jOnlUAwlKjfUx2sqBF/X85CtoIHE44Rp71AcrDpKbbEbD0IbuW5Pczd/RSllBdOswHY6zi3TT8PTNDXLJFr1JC6jiyZYht/etvK+1RV4B60qX32Qk2YFNbi6KPDZVuI/Jiz0aZWQjJ+1VotGiPVUaIHVU6AU/R83U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770662846; c=relaxed/simple; bh=urfexy/VYbihGscQ8wEFc3WSSybYyQrEz1vx8YZXUFY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=o9uTmO1yMjY+Vue5v5b24FpTDIggAan36zc4Gm1BsUsaB0dDQHqXQpr5h5lYjAuldvk0V2XuHX+qPwY4TXw+Hi0exGQ2pfVmMgLYmeXiYCAzQ8r4B+DazyS6SGBjg7rw9Iszkucz5hVUJlA+QdnTWyXj3n//YKNgLb458+fLpKs= 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=XvaPg9r0; arc=none smtp.client-ip=209.85.128.50 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="XvaPg9r0" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-48329eb96a7so14220625e9.3 for ; Mon, 09 Feb 2026 10:47:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770662844; x=1771267644; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=0xKKKCaqMMU4yXYq3598GeI46KY8dYOj6nfjjDZFOpc=; b=XvaPg9r01KR3ED9USvpbkWiU6wNdNmZO68KWQ8oFLhFBxnLHYAU/s2XoB+UlpP2ymn t4jljT6ODnbq3s14DeXp1ugGpkiQ0qFfPXhIU8WD0O3nibfpOSgB1gWH7Y05i7kV3ucj 68fSeaJCJJsrEK5CwFITxJpceVtEwcnOn7uA47TEYp7tymZLeWGc8Y7iy5JFxS5mtFKy KKNCJmk7wdLmiNuG/BcK57wpbA18H6xDbQ5BR/MPxVc/BE9WwnDJu7o650k10gpDglj8 ilYosMYiZm0LVS93DZtteakLsduntlZVaGKZO1mePHrMG1jK0qDE5sdJ9yebaBdCzxzc b1iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770662844; x=1771267644; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0xKKKCaqMMU4yXYq3598GeI46KY8dYOj6nfjjDZFOpc=; b=S3wAxyRuvHw24zhT8DuYvUAO2BU59zcc3FOpbqOR+dmmkbx5+ZoHemXMWm4A+aZTiL /e6bTUUgqV41+DXOIz6sIOv+LcprSX498jjb0L4reVI78nVUWql6UmgMd8OTh4mwGI9O I2VVDoIUXntBy9drqgYdcKKbuT44xSvADVCYS6DPcokV+oKYXerZL4QdKX3n1oXXoI7q iX1nc+Y24NsTETl9FNWOHbgpfDZJ0aMLfpQXwwP7w17FWl3V00mmxPx+OReDw3I1tfFE JOxd3iOvvbuVVoKoLHIp7pRb7hIiQLFxR9BSYhFeiB3srN+kOA0kBvhCtgrHtYkz4sj7 Wy1w== X-Forwarded-Encrypted: i=1; AJvYcCUmbA9C2jZKMTlXnfzPSw9o5L9nJwkQtIdEoLpZg4iyVD0XSvLHZsHE3skRL7WD/UK/p3PdJtFDGIdcNBk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw1E0IbLROlGd6+GrPeeApZI3UlndjyKJhy0jqQOc1X5tmk0Fh1 7JZ6HoNixwogWAOzQ6AJQKQeCl9LK7zip07fH5zNBpfbujPVScY9cd9b X-Gm-Gg: AZuq6aKDJeQFQdwW41XUwoRKHTIzsZwYLwO8GAaH5btNbRTvzV0NbkIKJEczWhqE8jQ Pu47UlcGh7oFcbvcdvkiC/Yfaa4Ior0j5rM/jgpUeOxE+wExOObtlyG6tSt1JHvvwjzZ4es2w5B UtClFh/s8eHiiG7X+dDUr3qK90La6I9PCnZxm26zkfe8eD9uxT+pqHqPqLFzUPsin7b2jPAGXdv 0hfjLaz4mKhgKq+Y2UyHiSwhp43hV2pRsJhzMjkpUlscESXiQjzfdcPj6WC1GwDmcS0kvaBn0Rx o/YVCOMyVliO1X9pXitPL3oopEdqOBAwL3oVOfLnpJjubpHrJ4vr0wbyRD3EIuELM0KabJQ8nYd GPlgfgTo/JuD71o3YX4Pd1nxVBKLxDFpY6+fM9cu8Eyky5z4t2kJHFB/NGWCDLHTkYNJdybZX1t vqBoxJeZKHQcbEbWemllEQoO2z7E31gPjgma0GmQA= X-Received: by 2002:a05:600c:8116:b0:47e:e9c9:23bc with SMTP id 5b1f17b1804b1-483209b06d8mr157421415e9.30.1770662844121; Mon, 09 Feb 2026 10:47:24 -0800 (PST) Received: from osama ([41.43.103.6]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4832040e91fsm99151335e9.6.2026.02.09.10.47.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Feb 2026 10:47:23 -0800 (PST) Date: Mon, 9 Feb 2026 19:47:19 +0100 From: Osama Abdelkader To: Luca Ceresoli Cc: Inki Dae , Jagan Teki , Marek Szyprowski , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/bridge: samsung-dsim: Fix memory leak in error path Message-ID: References: <20260207183721.43087-1-osama.abdelkader@gmail.com> 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=us-ascii Content-Disposition: inline In-Reply-To: On Mon, Feb 09, 2026 at 01:41:21PM +0100, Luca Ceresoli wrote: > Hello Osama, > > On Sat Feb 7, 2026 at 7:37 PM CET, Osama Abdelkader wrote: > > In samsung_dsim_host_attach(), drm_bridge_add() is called to add the > > bridge. However, if samsung_dsim_register_te_irq() or > > pdata->host_ops->attach() fails afterwards, the function returns > > without removing the bridge, causing a memory leak. > > > > Fix this by adding proper error handling with goto labels to ensure > > drm_bridge_remove() is called in all error paths. Also ensure that > > samsung_dsim_unregister_te_irq() is called if the attach operation > > fails after the TE IRQ has been registered. > > > > Signed-off-by: Osama Abdelkader > > Good catch! > > However being a fix you need a 'Fixes:' line pointing to the first commit > where hte bug exists. At a quick search it looks like f9bfd326f57e, but > please double check that. And with a Fixes tag you need Cc: stable, see the > docs [0]. > > > --- a/drivers/gpu/drm/bridge/samsung-dsim.c > > +++ b/drivers/gpu/drm/bridge/samsung-dsim.c > > @@ -1881,6 +1881,8 @@ static int samsung_dsim_register_te_irq(struct samsung_dsim *dsi, struct device > > return 0; > > } > > > > +static void samsung_dsim_unregister_te_irq(struct samsung_dsim *dsi); > > Please don't add a forward declaration. Just move > samsung_dsim_unregister_te_irq() function earlier, perhaps right here. Also > mention in the commit message that you have just moved it without changes, > to help reviewers: unfortunately code being moved it not very well > visualized in a diff. > > Otherwise looks good! > > It would be great if you please add me in Cc for future patches to this > driver. I'm using and touching it [1][2] so I'd like to review patches > touching it. Thanks! Sure, I will. Thanks for letting me know. > > [0] https://docs.kernel.org/process/stable-kernel-rules.html > [1] https://lore.kernel.org/lkml/20260109-drm-bridge-alloc-getput-drm_of_find_bridge-2-v2-0-8bad3ef90b9f@bootlin.com/ > [2] https://lore.kernel.org/lkml/20260206-drm-bridge-atomic-vs-remove-clear_and_put-v1-2-6f1a7d03c45f@bootlin.com/ > > Luca > > -- > Luca Ceresoli, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com Hello Luca, Thank you for the review, I just did that in v2. Thanks, Osama