]> www.infradead.org Git - nvme.git/commitdiff
gcc-15: add '__nonstring' markers to byte arrays
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 20 Apr 2025 18:18:55 +0000 (11:18 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 20 Apr 2025 18:57:54 +0000 (11:57 -0700)
All of these cases are perfectly valid and good traditional C, but hit
by the "you're not NUL-terminating your byte array" warning.

And none of the cases want any terminating NUL character.

Mark them __nonstring to shut up gcc-15 (and in the case of the ak8974
magnetometer driver, I just removed the explicit array size and let gcc
expand the 3-byte and 6-byte arrays by one extra byte, because it was
the simpler change).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/iio/magnetometer/ak8974.c
drivers/input/joystick/magellan.c
drivers/net/wireless/ath/carl9170/fw.c
fs/cachefiles/key.c

index 08975c60e325cbef2e425b41cc84bbc9a5fe5a1f..7bc341c696976229f78d0228b150036ca12393ea 100644 (file)
@@ -535,8 +535,8 @@ static int ak8974_detect(struct ak8974 *ak8974)
                                       fab_data2, sizeof(fab_data2));
 
                for (i = 0; i < 3; ++i) {
-                       static const char axis[3] = "XYZ";
-                       static const char pgaxis[6] = "ZYZXYX";
+                       static const char axis[] = "XYZ";
+                       static const char pgaxis[] = "ZYZXYX";
                        unsigned offz = le16_to_cpu(fab_data2[i]) & 0x7F;
                        unsigned fine = le16_to_cpu(fab_data1[i]);
                        unsigned sens = le16_to_cpu(fab_data1[i + 3]);
index 2eaa25c9c68c259141eadb60f2126db65a6ed149..d73389af4dd5ebf270d6c583f2fd111e0949b438 100644 (file)
@@ -48,7 +48,7 @@ struct magellan {
 
 static int magellan_crunch_nibbles(unsigned char *data, int count)
 {
-       static unsigned char nibbles[16] = "0AB3D56GH9:K<MN?";
+       static unsigned char nibbles[16] __nonstring = "0AB3D56GH9:K<MN?";
 
        do {
                if (data[count] == nibbles[data[count] & 0xf])
index 4c1aecd1163cee707f576902a255fc8afee03784..419f5530f885c27f3423f75fea85698040ea6a34 100644 (file)
@@ -15,7 +15,7 @@
 #include "fwcmd.h"
 #include "version.h"
 
-static const u8 otus_magic[4] = { OTUS_MAGIC };
+static const u8 otus_magic[4] __nonstring = { OTUS_MAGIC };
 
 static const void *carl9170_fw_find_desc(struct ar9170 *ar, const u8 descid[4],
        const unsigned int len, const u8 compatible_revision)
index bf935e25bdbeb8493d129e6347bf4f69a611cef0..b48525680e73dbe95972383253461799401299b2 100644 (file)
@@ -8,7 +8,7 @@
 #include <linux/slab.h>
 #include "internal.h"
 
-static const char cachefiles_charmap[64] =
+static const char cachefiles_charmap[64] __nonstring =
        "0123456789"                    /* 0 - 9 */
        "abcdefghijklmnopqrstuvwxyz"    /* 10 - 35 */
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ"    /* 36 - 61 */