[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20180830161931.ce995be9e83fd43382f49bee@linux-foundation.org>
Date: Thu, 30 Aug 2018 16:19:31 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Eric Biggers <ebiggers@...nel.org>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] lib/parser.c: switch match_strdup() over to use
kmemdup_nul()
On Thu, 30 Aug 2018 12:44:36 -0700 Eric Biggers <ebiggers@...nel.org> wrote:
> From: Eric Biggers <ebiggers@...gle.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.
Powered by blists - more mailing lists