Message ID | 1648454654-27200-1-git-send-email-unSimple1993@163.com (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
Series | [v1] MIPS: ip22-gio: Add check for the return value of kzalloc() | expand |
Hello! On 3/28/22 11:04 AM, QintaoShen wrote: > 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@163.com> > --- > 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) Indented too little. And indent with tabs please, not spaces. > + return ; No need for space before ';'. [...] MBR, Sergey
On 3/30/22 7:03 AM, unSimple wrote: > OK, here is the new version. That won't do, your original patch description should be here. And it should be a fresh posting with [PATCH v2] in the subject. > Signed-off-by: QintaoShen <unSimple1993@163.com> > --- You need to describe what changes between v1 and v2 here... > arch/mips/sgi-ip22/ip22-gio.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arch/mips/sgi-ip22/ip22-gio.c b/arch/mips/sgi-ip22/ip22-gio.c > index dfc52f6..f94f58b 100644 > --- a/arch/mips/sgi-ip22/ip22-gio.c > +++ b/arch/mips/sgi-ip22/ip22-gio.c > @@ -363,6 +363,10 @@ 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); > + No need for empty line here. > +if (!gio_dev) > +return; Hm, the tabs were there but they got eaten when I replied. Your mail seems to be base64-encoded which I don't think is acceptable for patches -- they should be posted as plain text. [...] MBR, Sergey
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;
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@163.com> --- arch/mips/sgi-ip22/ip22-gio.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)