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.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
Cc: Azeem Shaikh <azeemshaik...@gmail.com>
Cc: Alex Elder <el...@kernel.org>

This was interesting, but based on the bug text I suspect you
meant to address this to Alejandro Colomar, <a...@kernel.org>.

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

                                        -Alex

Cc: Sumit Garg <sumit.g...@kernel.org>
Signed-off-by: Kees Cook <k...@kernel.org>
---
  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
  };


Reply via email to