Re: [PATCH net v2] net: sungem: fix probe error cleanup

From: Simon Horman

Date: Wed Jun 24 2026 - 11:18:34 EST


On Tue, Jun 23, 2026 at 10:57:59AM +0800, Ruoyu Wang wrote:
> gem_init_one() calls gem_remove_one() when register_netdev() fails.
> gem_remove_one() unregisters and frees resources owned by the net_device,
> including the DMA block, MMIO mapping, PCI regions, and the net_device
> itself. gem_init_one() then falls through to its own cleanup labels and
> frees the same resources again.
>
> Keep the register_netdev() error path in gem_init_one(): clear drvdata so
> PM/remove paths do not see a half-registered device, remove the NAPI
> instance added during probe, and let the existing cleanup labels release
> the resources once.
>
> The issue was found by a local static-analysis checker for probe error
> paths. The reported path was manually inspected before sending this fix.
>
> Compile-tested with CONFIG_SUNGEM=y. Runtime testing was not performed
> because no sungem hardware is available.
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Signed-off-by: Ruoyu Wang <ruoyuw560@xxxxxxxxx>
> ---
> v2:
> - Add a Fixes tag.
> - Describe how the issue was found.
> - Add testing information.
>
> v1: https://lore.kernel.org/netdev/20260620155326.80582-1-ruoyuw560@xxxxxxxxx/

Thanks for the update.

Reviewed-by: Simon Horman <horms@xxxxxxxxxx>