Re: [PATCH] string: Add additional __realloc_size() annotations for "dup" helpers

Kees Cook
2024-05-02T14:54:12Z

On Thu, May 02, 2024 at 12:45:33PM +0300, Andy Shevchenko wrote:
> On Thu, May 2, 2024 at 2:32 AM Kees Cook <keescook@chromium.org> wrote:
> >
> > Several other "dup"-style interfaces could use the __realloc_size()
> > attribute. (As a reminder to myself and others: "realloc" is used here
> > instead of "alloc" because the "alloc_size" attribute implies that the
> > memory contents are uninitialized. Since we're copying contents into the
> > resulting allocation, it must use "realloc_size" to avoid confusing the
> > compiler's optimization passes.)
> >
> > Add KUnit test coverage where possible. (KUnit still does not have the
> > ability to manipulate userspace memory.)
>
> Makes sense to me,
> Reviewed-by: Andy Shevchenko <andy@kernel.org>
>
> ...
>
> > + checker(len, kmemdup_array(test_phrases[idx], len, 1, \
> > + gfp), kfree(p)); \
>
> Despite being longer, I would put gfp on the previous line for the
> sake of logical split (and additionally to be consistent with the
> below).
>
> > + checker(len, kmemdup(test_phrases[idx], len, gfp), \
> > + kfree(p)); \

Oh good! This bothered me to no end too. I will adjust it. :) Thanks!

-Kees

--
Kees Cook