]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
lib/cmdline: Fix an invalid format specifier in an assertion msg
authorDavid Gow <davidgow@google.com>
Wed, 21 Feb 2024 09:27:15 +0000 (17:27 +0800)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:21:15 +0000 (18:21 -0400)
[ Upstream commit d2733a026fc7247ba42d7a8e1b737cf14bf1df21 ]

The correct format specifier for p - n (both p and n are pointers) is
%td, as the type should be ptrdiff_t.

This was discovered by annotating KUnit assertion macros with gcc's
printf specifier, but note that gcc incorrectly suggested a %d or %ld
specifier (depending on the pointer size of the architecture being
built).

Fixes: 0ea09083116d ("lib/cmdline: Allow get_options() to take 0 to validate the input")
Signed-off-by: David Gow <davidgow@google.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Daniel Latypov <dlatypov@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
lib/cmdline_kunit.c

index a72a2c16066ef7cb2efa1e8c1636f4ff8a8a672b..de7fb7476cb9a54f2bd4d3a57d9ad7eab8c1b895 100644 (file)
@@ -124,7 +124,7 @@ static void cmdline_do_one_range_test(struct kunit *test, const char *in,
                            n, e[0], r[0]);
 
        p = memchr_inv(&r[1], 0, sizeof(r) - sizeof(r[0]));
-       KUNIT_EXPECT_PTR_EQ_MSG(test, p, NULL, "in test %u at %u out of bound", n, p - r);
+       KUNIT_EXPECT_PTR_EQ_MSG(test, p, NULL, "in test %u at %td out of bound", n, p - r);
 }
 
 static void cmdline_test_range(struct kunit *test)