Hi, On Tue, Apr 09, 2024 at 04:00:57PM +0200, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@xxxxxxxx> > > gcc-9 warns about a possibly non-terminated string copy: > > kernel/trace/blktrace.c: In function 'do_blk_trace_setup': > kernel/trace/blktrace.c:527:2: error: 'strncpy' specified bound 32 equals destination size [-Werror=stringop-truncation] > > Newer versions are fine here because they see the following explicit > nul-termination. Using strscpy_pad() avoids the warning and > simplifies the code a little. The padding helps give a clean > buffer to userspace. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Justin Stitt <justinstitt@xxxxxxxxxx> > --- > v2: actually use padding version of strscpy. > --- > kernel/trace/blktrace.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c > index d5d94510afd3..8fd292d34d89 100644 > --- a/kernel/trace/blktrace.c > +++ b/kernel/trace/blktrace.c > @@ -524,8 +524,7 @@ static int do_blk_trace_setup(struct request_queue *q, char *name, dev_t dev, > if (!buts->buf_size || !buts->buf_nr) > return -EINVAL; > > - strncpy(buts->name, name, BLKTRACE_BDEV_SIZE); > - buts->name[BLKTRACE_BDEV_SIZE - 1] = '\0'; > + strscpy_pad(buts->name, name, BLKTRACE_BDEV_SIZE); > > /* > * some device names have larger paths - convert the slashes > -- > 2.39.2 > Thanks Justin