]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
MIPS: Fix a reference leak bug in ip22_check_gio()
authorHaoxiang Li <haoxiang_li2024@163.com>
Thu, 4 Dec 2025 10:36:18 +0000 (18:36 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Mon, 15 Dec 2025 15:11:14 +0000 (16:11 +0100)
If gio_device_register fails, gio_dev_put() is required to
drop the gio_dev device reference.

Fixes: e84de0c61905 ("MIPS: GIO bus support for SGI IP22/28")
Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/sgi-ip22/ip22-gio.c

index 5893ea4e382caefb1312513ce0ef44ad1d4b2ab6..19b70928d6dc386fec1c6b6b444e75d10b824b27 100644 (file)
@@ -372,7 +372,8 @@ static void ip22_check_gio(int slotno, unsigned long addr, int irq)
                gio_dev->resource.flags = IORESOURCE_MEM;
                gio_dev->irq = irq;
                dev_set_name(&gio_dev->dev, "%d", slotno);
-               gio_device_register(gio_dev);
+               if (gio_device_register(gio_dev))
+                       gio_dev_put(gio_dev);
        } else
                printk(KERN_INFO "GIO: slot %d : Empty\n", slotno);
 }