]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
kunit/overflow: Add tests for STACK_FLEX_ARRAY_SIZE() helper
authorGustavo A. R. Silva <gustavoars@kernel.org>
Tue, 22 Apr 2025 21:07:41 +0000 (15:07 -0600)
committerKees Cook <kees@kernel.org>
Thu, 8 May 2025 16:42:05 +0000 (09:42 -0700)
Add a couple of tests for new STACK_FLEX_ARRAY_SIZE() helper.

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/c127631a03cdd7f59bfa091b9666a93bf69d0322.1745355442.git.gustavoars@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
lib/tests/overflow_kunit.c

index 894691b4411a34a24544ae52c7ad4935fec52802..19cb03b25dc57a6fcb452c2ec491560c491c8e7a 100644 (file)
@@ -1210,6 +1210,10 @@ static void DEFINE_FLEX_test(struct kunit *test)
        KUNIT_EXPECT_EQ(test, __struct_size(empty->array), 0);
        KUNIT_EXPECT_EQ(test, __member_size(empty->array), 0);
 
+       KUNIT_EXPECT_EQ(test, STACK_FLEX_ARRAY_SIZE(two, array), 2);
+       KUNIT_EXPECT_EQ(test, STACK_FLEX_ARRAY_SIZE(eight, array), 8);
+       KUNIT_EXPECT_EQ(test, STACK_FLEX_ARRAY_SIZE(empty, array), 0);
+
        /* If __counted_by is not being used, array size will have the on-stack size. */
        if (!IS_ENABLED(CONFIG_CC_HAS_COUNTED_BY))
                array_size_override = 2 * sizeof(s16);