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
};