]> www.infradead.org Git - users/hch/xfs.git/commitdiff
stackinit: Keep selftest union size small on m68k
authorKees Cook <kees@kernel.org>
Tue, 4 Feb 2025 17:45:13 +0000 (09:45 -0800)
committerKees Cook <kees@kernel.org>
Thu, 6 Feb 2025 19:36:12 +0000 (11:36 -0800)
The stack frame on m68k is very sensitive to the size of what needs to
be stored. Like done for long string testing, reduce the size of the
large trailing struct in the union initialization testing.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Closes: https://lore.kernel.org/all/CAMuHMdXW8VbtOAixO7w+aDOG70aZtZ50j1Ybcr8B3eYnRUcrcA@mail.gmail.com
Fixes: e71a29db79da ("stackinit: Add union initialization to selftests")
Link: https://lore.kernel.org/r/20250204174509.work.711-kees@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
lib/stackinit_kunit.c

index fbe910c9c82534801051ad9614fdb0d84c7ea4fe..967b345a98fd87ae6765131169ee543f5f57d0e9 100644 (file)
@@ -75,8 +75,10 @@ static bool stackinit_range_contains(char *haystack_start, size_t haystack_size,
  */
 #ifdef CONFIG_M68K
 #define FILL_SIZE_STRING               8
+#define FILL_SIZE_ARRAY                        2
 #else
 #define FILL_SIZE_STRING               16
+#define FILL_SIZE_ARRAY                        8
 #endif
 
 #define INIT_CLONE_SCALAR              /**/
@@ -345,7 +347,7 @@ union test_small_start {
        short three;
        unsigned long four;
        struct big_struct {
-               unsigned long array[8];
+               unsigned long array[FILL_SIZE_ARRAY];
        } big;
 };