lib: memcpy_kunit: Fix an invalid format specifier in an assertion msg
authorDavid Gow <davidgow@google.com>
Wed, 21 Feb 2024 09:27:16 +0000 (17:27 +0800)
committerShuah Khan <skhan@linuxfoundation.org>
Tue, 27 Feb 2024 22:26:02 +0000 (15:26 -0700)
The 'i' passed as an assertion message is a size_t, so should use '%zu',
not '%d'.

This was found by annotating the _MSG() variants of KUnit's assertions
to let gcc validate the format strings.

Fixes: bb95ebbe89a7 ("lib: Introduce CONFIG_MEMCPY_KUNIT_TEST")
Signed-off-by: David Gow <davidgow@google.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Justin Stitt <justinstitt@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
lib/memcpy_kunit.c

index 440aee705cccab09a616870b5fb4640ad6f2b7cd..30e00ef0bf2e0f8e407a97ef555f8aa4f648dac3 100644 (file)
@@ -32,7 +32,7 @@ struct some_bytes {
        BUILD_BUG_ON(sizeof(instance.data) != 32);      \
        for (size_t i = 0; i < sizeof(instance.data); i++) {    \
                KUNIT_ASSERT_EQ_MSG(test, instance.data[i], v, \
-                       "line %d: '%s' not initialized to 0x%02x @ %d (saw 0x%02x)\n", \
+                       "line %d: '%s' not initialized to 0x%02x @ %zu (saw 0x%02x)\n", \
                        __LINE__, #instance, v, i, instance.data[i]);   \
        }       \
 } while (0)
@@ -41,7 +41,7 @@ struct some_bytes {
        BUILD_BUG_ON(sizeof(one) != sizeof(two)); \
        for (size_t i = 0; i < sizeof(one); i++) {      \
                KUNIT_EXPECT_EQ_MSG(test, one.data[i], two.data[i], \
-                       "line %d: %s.data[%d] (0x%02x) != %s.data[%d] (0x%02x)\n", \
+                       "line %d: %s.data[%zu] (0x%02x) != %s.data[%zu] (0x%02x)\n", \
                        __LINE__, #one, i, one.data[i], #two, i, two.data[i]); \
        }       \
        kunit_info(test, "ok: " TEST_OP "() " name "\n");       \