On Thu, 30 Aug 2018 12:44:36 -0700 Eric Biggers <ebigg...@kernel.org> wrote:
> From: Eric Biggers <ebigg...@google.com> > > This simplifies the code. No change in behavior. > > ... > > --- a/lib/parser.c > +++ b/lib/parser.c > @@ -327,10 +327,6 @@ EXPORT_SYMBOL(match_strlcpy); > */ > char *match_strdup(const substring_t *s) > { > - size_t sz = s->to - s->from + 1; > - char *p = kmalloc(sz, GFP_KERNEL); > - if (p) > - match_strlcpy(p, s, sz); > - return p; > + return kmemdup_nul(s->from, s->to - s->from, GFP_KERNEL); > } > EXPORT_SYMBOL(match_strdup); Huh. I never noticed kmemdup_nul() fly past - it rather happened on the sly. We do have some fun goodies in there. We could make match_strdup() an inline now. But that will probably produce a fatter kernel, as each callsite would then need to prepare three args rather than one.