# 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/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 4b93c544e90e2b28326182d31ee008eb80e02074 # < make -s -j 10 ARCH=arm64 O=/kisskb/build/linus_arm64-allnoconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- allnoconfig # < make -s -j 10 ARCH=arm64 O=/kisskb/build/linus_arm64-allnoconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 10 ARCH=arm64 O=/kisskb/build/linus_arm64-allnoconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig # make -s -j 10 ARCH=arm64 O=/kisskb/build/linus_arm64-allnoconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- Completed OK # rm -rf /kisskb/build/linus_arm64-allnoconfig_arm64-gcc8 # Build took: 0:00:43.517509