Re: [PATCH] tools: hv: Fix a complier warning in the fcopy uio daemon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Sep 21, 2024 at 01:23:09AM +0000, Dexuan Cui wrote:
> > From: Saurabh Singh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx>
> > Sent: Friday, September 13, 2024 12:31 AM
> > To: Dexuan Cui <decui@xxxxxxxxxxxxx>
> > Cc: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang
> > <haiyangz@xxxxxxxxxxxxx>; Wei Liu <wei.liu@xxxxxxxxxx>; Long Li
> > <longli@xxxxxxxxxxxxx>; Greg Kroah-Hartman
> > <gregkh@xxxxxxxxxxxxxxxxxxx>; open list:Hyper-V/Azure CORE AND DRIVERS
> > <linux-hyperv@xxxxxxxxxxxxxxx>; open list <linux-kernel@xxxxxxxxxxxxxxx>;
> > stable@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH] tools: hv: Fix a complier warning in the fcopy uio
> > daemon
> > 
> > On Tue, Sep 10, 2024 at 12:44:32AM +0000, Dexuan Cui wrote:
> > > hv_fcopy_uio_daemon.c:436:53: warning: '%s' directive output may be
> > truncated
> > > writing up to 14 bytes into a region of size 10 [-Wformat-truncation=]
> > >   436 |  snprintf(uio_dev_path, sizeof(uio_dev_path), "/dev/%s",
> > uio_name);
> > 
> > Makefile today doesn't have -Wformat-truncation flag enabled, I tried to add
> > -Wformat-truncation=2 but I don't see any error in this file.
> > 
> > Do you mind sharing more details how you get this error ?
> > 
> > - Saurabh
> 
> This repros in a Ubuntu 20.04 VM:
> 
> root@decui-u2004-2024-0920:~/linux/tools/hv# cat /etc/os-release
> NAME="Ubuntu"
> VERSION="20.04.6 LTS (Focal Fossa)"
> ...
> 
> root@decui-u2004-2024-0920:~/linux/tools/hv# gcc --version
> gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
> Copyright (C) 2019 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> root@decui-u2004-2024-0920:~/linux/tools/hv# make clean; make
> ...
> make -f /root/linux/tools/build/Makefile.build dir=. obj=hv_fcopy_uio_daemon
> make[1]: Entering directory '/root/linux/tools/hv'
>   CC      hv_fcopy_uio_daemon.o
> hv_fcopy_uio_daemon.c: In function 'main':
> hv_fcopy_uio_daemon.c:443:53: warning: '%s' directive output may be truncated writing up to 14 bytes into a region of size 10 [-Wformat-truncation=]
>   443 |  snprintf(uio_dev_path, sizeof(uio_dev_path), "/dev/%s", uio_name);
>       |                                                     ^~   ~~~~~~~~
> In file included from /usr/include/stdio.h:867,
>                  from hv_fcopy_uio_daemon.c:20:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: '__builtin___snprintf_chk' output between 6 and 20 bytes into a destination of size 15
>    67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    68 |        __bos (__s), __fmt, __va_arg_pack ());
>       |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   CC      vmbus_bufring.o
>   LD      hv_fcopy_uio_daemon-in.o
> make[1]: Leaving directory '/root/linux/tools/hv'
>   LINK    hv_fcopy_uio_daemon

Thanks for the details. Looks this is the behaviour of old gcc versions.
How about fixing it like this :

--- a/tools/hv/hv_fcopy_uio_daemon.c
+++ b/tools/hv/hv_fcopy_uio_daemon.c
@@ -35,7 +35,7 @@
 #define WIN8_SRV_MINOR         1
 #define WIN8_SRV_VERSION       (WIN8_SRV_MAJOR << 16 | WIN8_SRV_MINOR)

-#define MAX_FOLDER_NAME                15
+#define MAX_FOLDER_NAME                10
 #define MAX_PATH_LEN           15


- Saurabh





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux