Re: [PATCH v2] lkdtm/bugs: Check for the NULL pointer after calling kmalloc
From: Dan Carpenter
Date: Wed Jan 19 2022 - 23:01:59 EST
On Wed, Jan 19, 2022 at 10:45:33AM -0800, Kees Cook wrote:
> > diff --git a/drivers/misc/lkdtm/bugs.c b/drivers/misc/lkdtm/bugs.c
> > index f4cb94a9aa9c..c35ea54824ac 100644
> > --- a/drivers/misc/lkdtm/bugs.c
> > +++ b/drivers/misc/lkdtm/bugs.c
> > @@ -325,6 +325,11 @@ void lkdtm_ARRAY_BOUNDS(void)
> >
> > not_checked = kmalloc(sizeof(*not_checked) * 2, GFP_KERNEL);
> > checked = kmalloc(sizeof(*checked) * 2, GFP_KERNEL);
> > + if (!not_checked || !checked) {
> > + kfree(not_checked);
> > + kfree(checked);
> > + return;
> > + }
>
> This should explicitly yell about the memory failure. See the other
> error cases for examples. I'd expect something like this before the
> return:
>
> pr_err("FAIL: could not allocate required buffers\n");
Adding error messages for kmalloc failures is a checkpatch violation.
Those allocations will never fail. There is already a warning message
and stack trace built into kmalloc(). It's just a waste of resources to
add the warning message.
regards,
dan carpenter