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 <[email protected]>
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! [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-8bad3ef90...@bootlin.com/ [2] https://lore.kernel.org/lkml/20260206-drm-bridge-atomic-vs-remove-clear_and_put-v1-2-6f1a7d03c...@bootlin.com/ Luca -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
