CVE-2026-72406

Summary

In the Linux kernel, the following vulnerability has been resolved:

net: sungem: fix probe error cleanup

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f3bd60b26814b7c3c57c629abb0857dfc76d214aaffected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f1d04fefb0c2a2de32d9cee22cdc2088be3758d1affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 331c99029a1cee1111f82f63d15b3cdebefbd341affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < a63eaf7605d1579cf3f551792e478cfaf5ac37d1affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < fb73cdc50b6755e5c3a80a195b2708a39ada0230affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < b15a3cc68e2450aa0edd94a74a7bdd45fcc17dd9affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < bc49e8746584564dba47d963d1916cc876fc6f6baffected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 36dea2f639249460d13f6ca66b2a9064187cd34daffected
LinuxLinux2.6.12affected
LinuxLinux0 < 2.6.12unaffected
LinuxLinux5.10.261 <= 5.10.*unaffected
LinuxLinux5.15.212 <= 5.15.*unaffected
LinuxLinux6.1.178 <= 6.1.*unaffected
LinuxLinux6.6.145 <= 6.6.*unaffected
LinuxLinux6.12.97 <= 6.12.*unaffected
LinuxLinux6.18.40 <= 6.18.*unaffected
LinuxLinux7.1.5 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References