Since the memory allocation function kzalloc() may return a NULL pointer, the use of 'gio_dev' may lead to NULL pointer dereference. So it is better to check the return value of kzalloc(). Signed-off-by: QintaoShen <unSimple1993@xxxxxxx> --- arch/mips/sgi-ip22/ip22-gio.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/mips/sgi-ip22/ip22-gio.c b/arch/mips/sgi-ip22/ip22-gio.c index dfc52f6..df7ca21 100644 --- a/arch/mips/sgi-ip22/ip22-gio.c +++ b/arch/mips/sgi-ip22/ip22-gio.c @@ -363,7 +363,11 @@ static void ip22_check_gio(int slotno, unsigned long addr, int irq) printk(KERN_INFO "GIO: slot %d : %s (id %x)\n", slotno, name, id); gio_dev = kzalloc(sizeof *gio_dev, GFP_KERNEL); - gio_dev->name = name; + + if (!gio_dev) + return ; + + gio_dev->name = name; gio_dev->slotno = slotno; gio_dev->id.id = id; gio_dev->resource.start = addr; -- 2.7.4