# 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-4.9.4-nolibc/s390-linux/bin/s390-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-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-defconfig_s390x-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/s390-linux/bin/s390-linux- defconfig # < make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-defconfig_s390x-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/s390-linux/bin/s390-linux- help # make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-defconfig_s390x-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/s390-linux/bin/s390-linux- olddefconfig # make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-defconfig_s390x-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/s390-linux/bin/s390-linux- /kisskb/src/security/landlock/ruleset.c: In function 'insert_rule': /kisskb/src/security/landlock/ruleset.c:196:34: error: passing argument 2 of 'create_rule' from incompatible pointer type [-Werror] new_rule = create_rule(object, &this->layers, this->num_layers, ^ /kisskb/src/security/landlock/ruleset.c:69:30: note: expected 'const struct landlock_layer (* const)[]' but argument is of type 'struct landlock_layer (*)[]' static struct landlock_rule *create_rule( ^ /kisskb/src/security/landlock/ruleset.c: In function 'landlock_insert_rule': /kisskb/src/security/landlock/ruleset.c:240:38: error: passing argument 3 of 'insert_rule' from incompatible pointer type [-Werror] return insert_rule(ruleset, object, &layers, ARRAY_SIZE(layers)); ^ /kisskb/src/security/landlock/ruleset.c:144:12: note: expected 'const struct landlock_layer (* const)[]' but argument is of type 'struct landlock_layer (*)[1]' static int insert_rule(struct landlock_ruleset *const ruleset, ^ /kisskb/src/security/landlock/ruleset.c: In function 'merge_ruleset': /kisskb/src/security/landlock/ruleset.c:300:47: error: passing argument 3 of 'insert_rule' from incompatible pointer type [-Werror] err = insert_rule(dst, walker_rule->object, &layers, ^ /kisskb/src/security/landlock/ruleset.c:144:12: note: expected 'const struct landlock_layer (* const)[]' but argument is of type 'struct landlock_layer (*)[1]' static int insert_rule(struct landlock_ruleset *const ruleset, ^ /kisskb/src/security/landlock/ruleset.c: In function 'inherit_ruleset': /kisskb/src/security/landlock/ruleset.c:330:5: error: passing argument 3 of 'insert_rule' from incompatible pointer type [-Werror] &walker_rule->layers, walker_rule->num_layers); ^ /kisskb/src/security/landlock/ruleset.c:144:12: note: expected 'const struct landlock_layer (* const)[]' but argument is of type 'struct landlock_layer (*)[]' static int insert_rule(struct landlock_ruleset *const ruleset, ^ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:277: security/landlock/ruleset.o] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:540: security/landlock] Error 2 make[1]: *** [/kisskb/src/Makefile:1872: security] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/fs/btrfs/tree-checker.c: In function 'check_root_item': /kisskb/src/fs/btrfs/tree-checker.c:1089:9: error: missing braces around initializer [-Werror=missing-braces] struct btrfs_root_item ri = { 0 }; ^ /kisskb/src/fs/btrfs/tree-checker.c:1089:9: error: (near initialization for 'ri.inode') [-Werror=missing-braces] cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:277: fs/btrfs/tree-checker.o] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:540: fs/btrfs] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1872: fs] Error 2 make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-defconfig_s390x-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/s390-linux/bin/s390-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_s390-defconfig_s390x-gcc4.9 # Build took: 0:03:05.087248