[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2025011718-absolute-cheesy-79b1@gregkh>
Date: Fri, 17 Jan 2025 15:26:13 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 1/1] usb: hcd: Bump local buffer size in rh_string()
On Fri, Jan 17, 2025 at 03:42:27PM +0200, Andy Shevchenko wrote:
> On Fri, Jan 17, 2025 at 07:11:46AM +0100, Greg Kroah-Hartman wrote:
> > On Thu, Jan 16, 2025 at 06:05:43PM +0200, Andy Shevchenko wrote:
> > > GCC is not happy about the buffer size:
> > >
> > > drivers/usb/core/hcd.c:441:48: error: ā%sā directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Werror=format-truncation=]
> > > 441 | snprintf (buf, sizeof buf, "%s %s %s", init_utsname()->sysname,
> > > | ^~
> > > 442 | init_utsname()->release, hcd->driver->description);
> > > | ~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > > Bump the size to get it enough for the possible strings.
>
> ...
>
> > > static unsigned
> > > rh_string(int id, struct usb_hcd const *hcd, u8 *data, unsigned len)
> > > {
> > > - char buf[100];
> > > + char buf[160];
> > > char const *s;
> > > static char const langids[4] = {4, USB_DT_STRING, 0x09, 0x04};
> >
> > Worst case it's properly truncated so why do we need to worry about this
> > "warning"?
>
> With CONFIG_WERROR=y it's a compilation error. My goal is to have
> i386_defconfig and x86_64_defconfig to be compiled with `make W=1`.
So you have to have W=1 enabled, right? On my normal builds, with
CONFIG_WERROR=y enabled, I do not see this.
> > And what compiler version is giving that, I don't see that
> > here in my build testing.
>
> `make W=1` (and be sure that CONFIG_WERROR=y).
Ah, ok, manual work here.
And I guess the error is right, ->sysname could be 64 and release can
also be 64 bytes long, so it would be truncated.
thanks,
greg k-h
Powered by blists - more mailing lists