[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <eb874b37-3e3f-6819-78f7-bba3e684ae27@rasmusvillemoes.dk>
Date: Thu, 3 Sep 2020 10:56:38 +0200
From: Rasmus Villemoes <linux@...musvillemoes.dk>
To: Leon Romanovsky <leon@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Peter Oberparleiter <oberpar@...ux.ibm.com>
Cc: Leon Romanovsky <leonro@...dia.com>, linux-kernel@...r.kernel.org,
Colin Ian King <colin.king@...onical.com>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH rdma-next 2/4] gcov: Use proper duplication routine for
const pointer
On 02/09/2020 10.55, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@...dia.com>
>
> The filename is a const pointer, so use the proper string duplication
> routine that takes into account const identifier.
This commit log makes no sense at all.
kstrdup_const is merely an optimization that can be used when there's a
good chance that the passed string lives in vmlinux' .rodata, in which
case it is known to be immortal, and we can avoid allocating heap memory
to contain a duplicate. [It also requires that the caller has no
intention of modifying the returned string.]
In the case of something called ->filename, I assume it's initialized
with __FILE__ somewhere, making the above true for built-in stuff but
not for modules. So if the gcov_info can live longer than the module,
it's of course necessary to duplicate the string, but OTOH making an
optimization for the built-in stuff makes sense. So this is certainly
one of the places where kstrdup_const() seems applicable. But it has
nothing whatsoever to do with the C-level qualifiers the argument may have.
Rasmus
Powered by blists - more mailing lists