Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: Fix a reference leak bug in ip22_check_gio()

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>

authored by

Haoxiang Li and committed by
Thomas Bogendoerfer
680ad315 bd94fbe8

+2 -1
+2 -1
arch/mips/sgi-ip22/ip22-gio.c
··· 372 372 gio_dev->resource.flags = IORESOURCE_MEM; 373 373 gio_dev->irq = irq; 374 374 dev_set_name(&gio_dev->dev, "%d", slotno); 375 - gio_device_register(gio_dev); 375 + if (gio_device_register(gio_dev)) 376 + gio_dev_put(gio_dev); 376 377 } else 377 378 printk(KERN_INFO "GIO: slot %d : Empty\n", slotno); 378 379 }