# 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/nds32le-linux/bin/nds32le-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux-ld --version # < git log --format=%s --max-count=1 4b93c544e90e2b28326182d31ee008eb80e02074 # < make -s -j 8 ARCH=nds32 O=/kisskb/build/linus_nds32-allmodconfig_nds32le-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux- allmodconfig # < make -s -j 8 ARCH=nds32 O=/kisskb/build/linus_nds32-allmodconfig_nds32le-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux- help # make -s -j 8 ARCH=nds32 O=/kisskb/build/linus_nds32-allmodconfig_nds32le-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux- olddefconfig # make -s -j 8 ARCH=nds32 O=/kisskb/build/linus_nds32-allmodconfig_nds32le-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux- :1515:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/nds32/kernel/setup.c: In function 'setup_memory': /kisskb/src/arch/nds32/kernel/setup.c:247:26: error: unused variable 'region' [-Werror=unused-variable] struct memblock_region *region; ^~~~~~ cc1: all warnings being treated as errors make[2]: *** [/kisskb/src/scripts/Makefile.build:277: arch/nds32/kernel/setup.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1872: arch/nds32/kernel] 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=nds32 O=/kisskb/build/linus_nds32-allmodconfig_nds32le-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/nds32le-linux/bin/nds32le-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_nds32-allmodconfig_nds32le-gcc8 # Build took: 0:00:34.139019