[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <B1BDDA8D-BD9F-4A4D-AE13-0D4902144DBE@linux.vnet.ibm.com>
Date: Tue, 5 Nov 2024 19:22:59 +0530
From: Athira Rajeev <atrajeev@...ux.vnet.ibm.com>
To: Daniel Yang <danielyangkang@...il.com>
Cc: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>, Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
"Liang, Kan" <kan.liang@...ux.intel.com>,
"open list:PERFORMANCE EVENTS SUBSYSTEM" <linux-perf-users@...r.kernel.org>,
"open list:PERFORMANCE EVENTS SUBSYSTEM" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] copy_class_filename: replace deprecated strlcpy with
strscpy
> On 5 Nov 2024, at 12:42 PM, Daniel Yang <danielyangkang@...il.com> wrote:
>
> The latest kernel docs:
> https://www.kernel.org/doc/html/latest/process/deprecated.html
> recommends replacing strlcpy with strscpy as the safer alternative. The
> value of strlcpy is not used so there shouldn't be issues with replacing
> the deprecated call.
>
> Signed-off-by: Daniel Yang <danielyangkang@...il.com>
> ---
> tools/perf/jvmti/libjvmti.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/jvmti/libjvmti.c b/tools/perf/jvmti/libjvmti.c
> index fcca275e5..04d6825d2 100644
> --- a/tools/perf/jvmti/libjvmti.c
> +++ b/tools/perf/jvmti/libjvmti.c
> @@ -158,7 +158,7 @@ copy_class_filename(const char * class_sign, const char * file_name, char * resu
> result[i] = '\0';
> } else {
> /* fallback case */
> - strlcpy(result, file_name, max_length);
> + strscpy(result, file_name, max_length);
Hi,
This hits a compilation error:
In file included from jvmti/libjvmti.c:3:
jvmti/libjvmti.c: In function ‘copy_class_filename’:
/home/athira/perf-tools-next/tools/include/linux/string.h:15:17: error: too many arguments to function ‘strcpy’
15 | #define strscpy strcpy
| ^~~~~~
jvmti/libjvmti.c:161:17: note: in expansion of macro ‘strscpy’
161 | strscpy(result, file_name, max_length);
| ^~~~~~~
In file included from /usr/include/features.h:490,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdint.h:26,
from /usr/lib/gcc/ppc64le-redhat-linux/11/include/stdint.h:9,
from /home/athira/perf-tools-next/tools/include/linux/types.h:7,
from /home/athira/perf-tools-next/tools/include/linux/compiler.h:131,
from jvmti/libjvmti.c:2:
/usr/include/bits/string_fortified.h:77:1: note: declared here
77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
| ^~~~~
My analysis/review for this is same as my response for your similar patch here:
https://lore.kernel.org/linux-perf-users/3CA737FF-2F21-42CA-BF95-5F0341F6B68B@linux.vnet.ibm.com/T/#m619e016f6dd4abb1e1830580bdc74c86b4fcace8
Thanks
Athira
> }
> }
>
> --
> 2.39.2
>
>
Powered by blists - more mailing lists