Re: [PATCH] EISA: Increase length of device names

From: Alejandro Colomar
Date: Sat Mar 15 2025 - 12:02:40 EST


Hi Kees, Alex,

On Sat, Mar 15, 2025 at 09:27:36AM -0500, Alex Elder wrote:
> On 3/10/25 5:24 PM, Kees Cook wrote:
> > GCC 15's -Wunterminated-string-initialization warned about truncated
> > name strings. Instead of marking them with the "nonstring" attribute[1],
> > increase their length to correctly include enough space for the
> > terminating NUL character, as they are used with %s format specifiers.

It might be interesting to mention where they are used with %s.

> > Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > Cc: Azeem Shaikh <azeemshaikh38@xxxxxxxxx>
> > Cc: Alex Elder <elder@xxxxxxxxxx>
>
> This was interesting, but based on the bug text I suspect you
> meant to address this to Alejandro Colomar, <alx@xxxxxxxxxx>.

Thanks!

> For what it's worth, it looks fine to me.

LGTM too. Assuming that changing the size of the arrays doesn't break
something else, it looks good.


Have a lovely day!
Alex

> -Alex
>
> > Cc: Sumit Garg <sumit.garg@xxxxxxxxxx>
> > Signed-off-by: Kees Cook <kees@xxxxxxxxxx>
> > ---
> > drivers/eisa/eisa-bus.c | 2 +-
> > include/linux/eisa.h | 4 +++-
> > 2 files changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/eisa/eisa-bus.c b/drivers/eisa/eisa-bus.c
> > index cb586a362944..edceea083b98 100644
> > --- a/drivers/eisa/eisa-bus.c
> > +++ b/drivers/eisa/eisa-bus.c
> > @@ -21,7 +21,7 @@
> > struct eisa_device_info {
> > struct eisa_device_id id;
> > - char name[50];
> > + char name[EISA_DEVICE_INFO_NAME_SIZE];
> > };
> > #ifdef CONFIG_EISA_NAMES
> > diff --git a/include/linux/eisa.h b/include/linux/eisa.h
> > index f98200cae637..c73a410bf88f 100644
> > --- a/include/linux/eisa.h
> > +++ b/include/linux/eisa.h
> > @@ -28,6 +28,8 @@
> > #define EISA_CONFIG_ENABLED 1
> > #define EISA_CONFIG_FORCED 2
> > +#define EISA_DEVICE_INFO_NAME_SIZE 51
> > +
> > /* There is not much we can say about an EISA device, apart from
> > * signature, slot number, and base address. dma_mask is set by
> > * default to parent device mask..*/
> > @@ -41,7 +43,7 @@ struct eisa_device {
> > u64 dma_mask;
> > struct device dev; /* generic device */
> > #ifdef CONFIG_EISA_NAMES
> > - char pretty_name[50];
> > + char pretty_name[EISA_DEVICE_INFO_NAME_SIZE];
> > #endif
> > };
>

--
<https://www.alejandro-colomar.es/>

Attachment: signature.asc
Description: PGP signature