# git rev-parse -q --verify 4b93c544e90e2b28326182d31ee008eb80e02074^{commit} 4b93c544e90e2b28326182d31ee008eb80e02074 already have revision, skipping fetch # git checkout -q -f -B kisskb 4b93c544e90e2b28326182d31ee008eb80e02074 # git clean -qxdf # < git log -1 # commit 4b93c544e90e2b28326182d31ee008eb80e02074 # Author: Linus Torvalds # Date: Mon Sep 6 12:27:03 2021 -0700 # # thunderbolt: test: split up test cases in tb_test_credit_alloc_all # # The tb_test_credit_alloc_all() function had a huge number of # KUNIT_ASSERT() statements, all of which (though the magic of many many # layers of inscrutable macros) ended up allocating and initializing # various test assertion structures on the stack. # # Don't do that. The kernel stack isn't infinite, and we have compiler # warnings (now errors) for the case where a stack frame grows too large. # # Like it did here, by not an inconsiderable margin: # # drivers/thunderbolt/test.c: In function ‘tb_test_credit_alloc_all’: # drivers/thunderbolt/test.c:2367:1: error: the frame size of 4500 bytes is larger than 2048 bytes [-Werror=frame-larger-than=] # 2367 | } # | ^ # # Solve this similarly to the lib/test_scanf case: split out the tests # into several smaller functions, each just testing one particular tunnel # credit allocation. # # This makes the i386 allyesconfig build work for me again. # # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux-ld --version # < git log --format=%s --max-count=1 4b93c544e90e2b28326182d31ee008eb80e02074 # < make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-allmodconfig_s390x-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # < make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-allmodconfig_s390x-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux- help # make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-allmodconfig_s390x-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux- olddefconfig # make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-allmodconfig_s390x-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux- /kisskb/src/arch/s390/kernel/syscall.c: In function '__do_syscall': /kisskb/src/arch/s390/kernel/syscall.c:168:1: error: '__do_syscall' uses dynamic stack allocation [-Werror] } ^ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:277: arch/s390/kernel/syscall.o] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:540: arch/s390/kernel] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1872: arch/s390] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/kernel/trace/trace_osnoise.c: In function 'start_kthread': /kisskb/src/kernel/trace/trace_osnoise.c:1515:8: error: 'main' is usually a function [-Werror=main] void *main = osnoise_main; ^~~~ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:277: kernel/trace/trace_osnoise.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:540: kernel/trace] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1872: kernel] Error 2 make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-allmodconfig_s390x-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_s390-allmodconfig_s390x-gcc8 # Build took: 0:03:57.622913