# 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/m68k-linux/bin/m68k-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux-ld --version # < git log --format=%s --max-count=1 4b93c544e90e2b28326182d31ee008eb80e02074 # < make -s -j 8 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- sun3_defconfig # < make -s -j 8 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- help # make -s -j 8 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- olddefconfig # make -s -j 8 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- /kisskb/src/drivers/net/ethernet/i825xx/sun3_82586.c: In function 'sun3_82586_probe': /kisskb/src/drivers/net/ethernet/i825xx/sun3_82586.c:317:9: error: returning 'struct net_device *' from a function with return type 'int' makes integer from pointer without a cast [-Werror=int-conversion] return dev; ^~~ cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:277: drivers/net/ethernet/i825xx/sun3_82586.o] Error 1 make[4]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/net/ethernet/i825xx] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/net/ethernet] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/net] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1872: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 8 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_sun3_defconfig_m68k-gcc8 # Build took: 0:02:51.561224