Messages in this thread | | | From | Michael Ellerman <> | Subject | Re: [PATCH v4] powerpc/powernv: add NULL check after kzalloc in opal_add_one_export | Date | Mon, 06 Apr 2020 20:30:50 +1000 |
| |
Qiujun Huang <hqjagain@gmail.com> writes: > Here needs a NULL check as kzalloc may fail returning NULL. > > Issue was found by coccinelle. > Generated by: scripts/coccinelle/null/kmerr.cocci > > Signed-off-by: Qiujun Huang <hqjagain@gmail.com> > Reviewed-by: Oliver O'Halloran <oohall@gmail.com> > > ---
Thanks for putting up with all the review comments :)
But I think this should actually be two patches now.
The first patch should change the goto after of_property_read_u64_array() into a return and drop the redundant assignments.
Then the second patch can add the NULL check for attr.
cheers
> v3->v4: > Added the information about coccinelle script. > Added change log. > Added Oliver's Reviewed-by. > v2->v3: > Removed redundant assignment to 'attr' and 'name'. > v1->v2: > Just return -ENOMEM if attr is NULL. > --- > arch/powerpc/platforms/powernv/opal.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c > index 2b3dfd0b6cdd..908d749bcef5 100644 > --- a/arch/powerpc/platforms/powernv/opal.c > +++ b/arch/powerpc/platforms/powernv/opal.c > @@ -801,16 +801,19 @@ static ssize_t export_attr_read(struct file *fp, struct kobject *kobj, > static int opal_add_one_export(struct kobject *parent, const char *export_name, > struct device_node *np, const char *prop_name) > { > - struct bin_attribute *attr = NULL; > - const char *name = NULL; > + struct bin_attribute *attr; > + const char *name; > u64 vals[2]; > int rc; > > rc = of_property_read_u64_array(np, prop_name, &vals[0], 2); > if (rc) > - goto out; > + return rc; > > attr = kzalloc(sizeof(*attr), GFP_KERNEL); > + if (!attr) > + return -ENOMEM; > + > name = kstrdup(export_name, GFP_KERNEL); > if (!name) { > rc = -ENOMEM; > -- > 2.17.1
| |