# git rev-parse -q --verify bbe85027ce8019c73ab99ad1c2603e2dcd1afa49^{commit} bbe85027ce8019c73ab99ad1c2603e2dcd1afa49 already have revision, skipping fetch # git checkout -q -f -B kisskb bbe85027ce8019c73ab99ad1c2603e2dcd1afa49 # git clean -qxdf # < git log -1 # commit bbe85027ce8019c73ab99ad1c2603e2dcd1afa49 # Merge: 694565356c2e 894645546bb1 # Author: Linus Torvalds # Date: Mon Oct 19 14:38:46 2020 -0700 # # Merge tag 'xfs-5.10-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux # # Pull more xfs updates from Darrick Wong: # "The second large pile of new stuff for 5.10, with changes even more # monumental than last week! # # We are formally announcing the deprecation of the V4 filesystem format # in 2030. All users must upgrade to the V5 format, which contains # design improvements that greatly strengthen metadata validation, # supports reflink and online fsck, and is the intended vehicle for # handling timestamps past 2038. We're also deprecating the old Irix # behavioral tweaks in September 2025. # # Coming along for the ride are two design changes to the deferred # metadata ops subsystem. One of the improvements is to retain correct # logical ordering of tasks and subtasks, which is a more logical design # for upper layers of XFS and will become necessary when we add atomic # file range swaps and commits. The second improvement to deferred ops # improves the scalability of the log by helping the log tail to move # forward during long-running operations. This reduces log contention # when there are a large number of threads trying to run transactions. # # In addition to that, this fixes numerous small bugs in log recovery; # refactors logical intent log item recovery to remove the last # remaining place in XFS where we could have nested transactions; fixes # a couple of ways that intent log item recovery could fail in ways that # wouldn't have happened in the regular commit paths; fixes a deadlock # vector in the GETFSMAP implementation (which improves its performance # by 20%); and fixes serious bugs in the realtime growfs, fallocate, and # bitmap handling code. # # Summary: # # - Deprecate the V4 filesystem format, some disused mount options, and # some legacy sysctl knobs now that we can support dates into the # 25th century. Note that removal of V4 support will not happen until # the early 2030s. # # - Fix some probles with inode realtime flag propagation. # # - Fix some buffer handling issues when growing a rt filesystem. # # - Fix a problem where a BMAP_REMAP unmap call would free rt extents # even though the purpose of BMAP_REMAP is to avoid freeing the # blocks. # # - Strengthen the dabtree online scrubber to check hash values on # child dabtree blocks. # # - Actually log new intent items created as part of recovering log # intent items. # # - Fix a bug where quotas weren't attached to an inode undergoing bmap # intent item recovery. # # - Fix a buffer overrun problem with specially crafted log buffer # headers. # # - Various cleanups to type usage and slightly inaccurate comments. # # - More cleanups to the xattr, log, and quota code. # # - Don't run the (slower) shared-rmap operations on attr fork # mappings. # # - Fix a bug where we failed to check the LSN of finobt blocks during # replay and could therefore overwrite newer data with older data. # # - Clean up the ugly nested transaction mess that log recovery uses to # stage intent item recovery in the correct order by creating a # proper data structure to capture recovered chains. # # - Use the capture structure to resume intent item chains with the # same log space and block reservations as when they were captured. # # - Fix a UAF bug in bmap intent item recovery where we failed to # maintain our reference to the incore inode if the bmap operation # needed to relog itself to continue. # # - Rearrange the defer ops mechanism to finish newly created subtasks # of a parent task before moving on to the next parent task. # # - Automatically relog intent items in deferred ops chains if doing so # would help us avoid pinning the log tail. This will help fix some # log scaling problems now and will facilitate atomic file updates # later. # # - Fix a deadlock in the GETFSMAP implementation by using an internal # memory buffer to reduce indirect calls and copies to userspace, # thereby improving its performance by ~20%. # # - Fix various problems when calling growfs on a realtime volume would # not fully update the filesystem metadata. # # - Fix broken Kconfig asking about deprecated XFS when XFS is # disabled" # # * tag 'xfs-5.10-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (48 commits) # xfs: fix Kconfig asking about XFS_SUPPORT_V4 when XFS_FS=n # xfs: fix high key handling in the rt allocator's query_range function # xfs: annotate grabbing the realtime bitmap/summary locks in growfs # xfs: make xfs_growfs_rt update secondary superblocks # xfs: fix realtime bitmap/summary file truncation when growing rt volume # xfs: fix the indent in xfs_trans_mod_dquot # xfs: do the ASSERT for the arguments O_{u,g,p}dqpp # xfs: fix deadlock and streamline xfs_getfsmap performance # xfs: limit entries returned when counting fsmap records # xfs: only relog deferred intent items if free space in the log gets low # xfs: expose the log push threshold # xfs: periodically relog deferred intent items # xfs: change the order in which child and parent defer ops are finished # xfs: fix an incore inode UAF in xfs_bui_recover # xfs: clean up xfs_bui_item_recover iget/trans_alloc/ilock ordering # xfs: clean up bmap intent item recovery checking # xfs: xfs_defer_capture should absorb remaining transaction reservation # xfs: xfs_defer_capture should absorb remaining block reservations # xfs: proper replay of deferred ops queued during log recovery # xfs: remove XFS_LI_RECOVERED # ... # < /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 bbe85027ce8019c73ab99ad1c2603e2dcd1afa49 # < make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-allyesconfig_s390x-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/s390-linux/bin/s390-linux- allyesconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # < make -s -j 8 ARCH=s390 O=/kisskb/build/linus_s390-allyesconfig_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-allyesconfig_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-allyesconfig_s390x-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/s390-linux/bin/s390-linux- /kisskb/src/arch/s390/kernel/perf_cpum_sf.c: In function 'perf_push_sample': /kisskb/src/arch/s390/kernel/perf_cpum_sf.c:1145:1: warning: 'perf_push_sample' uses dynamic stack allocation } ^ /kisskb/src/arch/s390/kernel/perf_cpum_cf_diag.c: In function 'cf_diag_push_sample': /kisskb/src/arch/s390/kernel/perf_cpum_cf_diag.c:519:1: warning: 'cf_diag_push_sample' uses dynamic stack allocation } ^ /kisskb/src/kernel/dma/debug.c: In function 'debug_dma_unmap_page': /kisskb/src/kernel/dma/debug.c:1290:1: warning: 'debug_dma_unmap_page' uses dynamic stack allocation } ^ /kisskb/src/kernel/dma/debug.c: In function 'debug_dma_unmap_sg': /kisskb/src/kernel/dma/debug.c:1378:1: warning: 'debug_dma_unmap_sg' uses dynamic stack allocation } ^ /kisskb/src/kernel/dma/debug.c: In function 'debug_dma_free_coherent': /kisskb/src/kernel/dma/debug.c:1439:1: warning: 'debug_dma_free_coherent' uses dynamic stack allocation } ^ /kisskb/src/kernel/dma/debug.c: In function 'debug_dma_unmap_resource': /kisskb/src/kernel/dma/debug.c:1480:1: warning: 'debug_dma_unmap_resource' uses dynamic stack allocation } ^ /kisskb/src/kernel/dma/debug.c: In function 'debug_dma_sync_single_for_cpu': /kisskb/src/kernel/dma/debug.c:1498:1: warning: 'debug_dma_sync_single_for_cpu' uses dynamic stack allocation } ^ /kisskb/src/kernel/dma/debug.c: In function 'debug_dma_sync_single_for_device': /kisskb/src/kernel/dma/debug.c:1517:1: warning: 'debug_dma_sync_single_for_device' uses dynamic stack allocation } ^ /kisskb/src/kernel/dma/debug.c: In function 'debug_dma_sync_sg_for_cpu': /kisskb/src/kernel/dma/debug.c:1549:1: warning: 'debug_dma_sync_sg_for_cpu' uses dynamic stack allocation } ^ /kisskb/src/kernel/dma/debug.c: In function 'debug_dma_sync_sg_for_device': /kisskb/src/kernel/dma/debug.c:1580:1: warning: 'debug_dma_sync_sg_for_device' uses dynamic stack allocation } ^ /kisskb/src/mm/slub.c: In function '__slab_free': /kisskb/src/mm/slub.c:3073:1: warning: '__slab_free' uses dynamic stack allocation } ^ /kisskb/src/mm/slub.c: In function 'unfreeze_partials.isra.58': /kisskb/src/mm/slub.c:2363:1: warning: 'unfreeze_partials.isra.58' uses dynamic stack allocation } ^ /kisskb/src/mm/slub.c: In function 'get_partial_node.isra.59': /kisskb/src/mm/slub.c:1992:1: warning: 'get_partial_node.isra.59' uses dynamic stack allocation } ^ /kisskb/src/mm/slub.c: In function 'deactivate_slab.isra.60': /kisskb/src/mm/slub.c:2295:1: warning: 'deactivate_slab.isra.60' uses dynamic stack allocation } ^ /kisskb/src/mm/slub.c: In function '___slab_alloc': /kisskb/src/mm/slub.c:2759:1: warning: '___slab_alloc' uses dynamic stack allocation } ^ /kisskb/src/kernel/bpf/syscall.c: In function 'bpf_prog_show_fdinfo': /kisskb/src/kernel/bpf/syscall.c:1819:1: warning: 'bpf_prog_show_fdinfo' uses dynamic stack allocation } ^ /kisskb/src/kernel/bpf/syscall.c: In function 'bpf_prog_get_info_by_fd.isra.24': /kisskb/src/kernel/bpf/syscall.c:3668:1: warning: 'bpf_prog_get_info_by_fd.isra.24' uses dynamic stack allocation } ^ /kisskb/src/kernel/bpf/cpumap.c: In function 'cpu_map_bpf_prog_run_xdp.isra.14': /kisskb/src/kernel/bpf/cpumap.c:295:1: warning: 'cpu_map_bpf_prog_run_xdp.isra.14' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_log_throttle': /kisskb/src/kernel/events/core.c:8474:1: warning: 'perf_log_throttle' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_bpf_output': /kisskb/src/kernel/events/core.c:8608:1: warning: 'perf_event_bpf_output' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_log_itrace_start': /kisskb/src/kernel/events/core.c:8798:1: warning: 'perf_log_itrace_start' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_switch_output': /kisskb/src/kernel/events/core.c:8403:1: warning: 'perf_event_switch_output' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_task_output': /kisskb/src/kernel/events/core.c:7563:1: warning: 'perf_event_task_output' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_namespaces_output': /kisskb/src/kernel/events/core.c:7756:1: warning: 'perf_event_namespaces_output' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_swevent_hrtimer': /kisskb/src/kernel/events/core.c:10284:1: warning: 'perf_swevent_hrtimer' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_ksymbol_output': /kisskb/src/kernel/events/core.c:8519:1: warning: 'perf_event_ksymbol_output' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_cgroup_output': /kisskb/src/kernel/events/core.c:7879:1: warning: 'perf_event_cgroup_output' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_comm_output': /kisskb/src/kernel/events/core.c:7657:1: warning: 'perf_event_comm_output' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_mmap_output': /kisskb/src/kernel/events/core.c:8020:1: warning: 'perf_event_mmap_output' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_read_event': /kisskb/src/kernel/events/core.c:7276:1: warning: 'perf_event_read_event' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_text_poke_output': /kisskb/src/kernel/events/core.c:8725:1: warning: 'perf_event_text_poke_output' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_event_aux_event': /kisskb/src/kernel/events/core.c:8311:1: warning: 'perf_event_aux_event' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_log_lost_samples': /kisskb/src/kernel/events/core.c:8344:1: warning: 'perf_log_lost_samples' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function 'perf_tp_event': /kisskb/src/kernel/events/core.c:9437:1: warning: 'perf_tp_event' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/core.c: In function '___perf_sw_event': /kisskb/src/kernel/events/core.c:9123:1: warning: '___perf_sw_event' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/ring_buffer.c: In function 'perf_output_begin_forward': /kisskb/src/kernel/events/ring_buffer.c:269:1: warning: 'perf_output_begin_forward' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/ring_buffer.c: In function 'perf_output_begin_backward': /kisskb/src/kernel/events/ring_buffer.c:275:1: warning: 'perf_output_begin_backward' uses dynamic stack allocation } ^ /kisskb/src/kernel/events/ring_buffer.c: In function 'perf_output_begin': /kisskb/src/kernel/events/ring_buffer.c:283:1: warning: 'perf_output_begin' uses dynamic stack allocation } ^ /kisskb/src/fs/nfs/super.c: In function 'nfs_show_stats': /kisskb/src/fs/nfs/super.c:687:1: warning: 'nfs_show_stats' uses dynamic stack allocation } ^ /kisskb/src/kernel/smp.c: In function 'smp_call_function_single': /kisskb/src/kernel/smp.c:517:1: warning: 'smp_call_function_single' uses dynamic stack allocation } ^ /kisskb/src/kernel/rseq.c: In function '__rseq_handle_notify_resume': /kisskb/src/kernel/rseq.c:281:1: warning: '__rseq_handle_notify_resume' uses dynamic stack allocation } ^ /kisskb/src/kernel/rseq.c: In function 'rseq_syscall': /kisskb/src/kernel/rseq.c:300:1: warning: 'rseq_syscall' uses dynamic stack allocation } ^ /kisskb/src/lib/crypto/chacha20poly1305.c: In function 'chacha20poly1305_crypt_sg_inplace': /kisskb/src/lib/crypto/chacha20poly1305.c:331:1: warning: 'chacha20poly1305_crypt_sg_inplace' uses dynamic stack allocation } ^ /kisskb/src/drivers/s390/net/ism_drv.c: In function 'ism_del_vlan_id': /kisskb/src/drivers/s390/net/ism_drv.c:331:1: warning: 'ism_del_vlan_id' uses dynamic stack allocation } ^ /kisskb/src/drivers/s390/net/ism_drv.c: In function 'ism_signal_ieq': /kisskb/src/drivers/s390/net/ism_drv.c:359:1: warning: 'ism_signal_ieq' uses dynamic stack allocation } ^ /kisskb/src/drivers/s390/net/ism_drv.c: In function 'ism_add_vlan_id': /kisskb/src/drivers/s390/net/ism_drv.c:317:1: warning: 'ism_add_vlan_id' uses dynamic stack allocation } ^ /kisskb/src/drivers/s390/net/ism_drv.c: In function 'ism_query_rgid': /kisskb/src/drivers/s390/net/ism_drv.c:216:1: warning: 'ism_query_rgid' uses dynamic stack allocation } ^ /kisskb/src/drivers/s390/net/ism_drv.c: In function 'ism_unregister_dmb': /kisskb/src/drivers/s390/net/ism_drv.c:303:1: warning: 'ism_unregister_dmb' uses dynamic stack allocation } ^ /kisskb/src/drivers/s390/net/ism_drv.c: In function 'ism_register_dmb': /kisskb/src/drivers/s390/net/ism_drv.c:282:1: warning: 'ism_register_dmb' uses dynamic stack allocation } ^ /kisskb/src/drivers/s390/net/ism_drv.c: In function 'query_info': /kisskb/src/drivers/s390/net/ism_drv.c:85:1: warning: 'query_info' uses dynamic stack allocation } ^ /kisskb/src/drivers/s390/net/ism_drv.c: In function 'ism_probe': /kisskb/src/drivers/s390/net/ism_drv.c:590:1: warning: 'ism_probe' uses dynamic stack allocation } ^ /kisskb/src/lib/test_stackinit.c: In function 'leaf_big_hole_static_all': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'leaf_big_hole_static_all' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:168:2: note: in definition of macro 'DEFINE_TEST' var_type var INIT_ ## which ## _ ## init_level; \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:268:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(static_all); ^ /kisskb/src/lib/test_stackinit.c: In function 'test_big_hole_static_all': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'test_big_hole_static_all' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:101:2: note: in definition of macro 'DEFINE_TEST_DRIVER' var_type zero INIT_CLONE_ ## which; \ ^ /kisskb/src/lib/test_stackinit.c:254:3: note: in expansion of macro 'DEFINE_TEST' DEFINE_TEST(name ## _ ## init, \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:268:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(static_all); ^ /kisskb/src/lib/test_stackinit.c: In function 'leaf_big_hole_dynamic_all': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'leaf_big_hole_dynamic_all' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:168:2: note: in definition of macro 'DEFINE_TEST' var_type var INIT_ ## which ## _ ## init_level; \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:271:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(dynamic_all); ^ /kisskb/src/lib/test_stackinit.c: In function 'test_big_hole_dynamic_all': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'test_big_hole_dynamic_all' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:101:2: note: in definition of macro 'DEFINE_TEST_DRIVER' var_type zero INIT_CLONE_ ## which; \ ^ /kisskb/src/lib/test_stackinit.c:254:3: note: in expansion of macro 'DEFINE_TEST' DEFINE_TEST(name ## _ ## init, \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:271:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(dynamic_all); ^ /kisskb/src/lib/test_stackinit.c: In function 'leaf_big_hole_zero.isra.9': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'leaf_big_hole_zero.isra.9' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:168:2: note: in definition of macro 'DEFINE_TEST' var_type var INIT_ ## which ## _ ## init_level; \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:265:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(zero); ^ /kisskb/src/lib/test_stackinit.c: In function 'test_big_hole_zero': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'test_big_hole_zero' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:101:2: note: in definition of macro 'DEFINE_TEST_DRIVER' var_type zero INIT_CLONE_ ## which; \ ^ /kisskb/src/lib/test_stackinit.c:254:3: note: in expansion of macro 'DEFINE_TEST' DEFINE_TEST(name ## _ ## init, \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:265:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(zero); ^ /kisskb/src/lib/test_stackinit.c: In function 'leaf_big_hole_static_partial.isra.17': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'leaf_big_hole_static_partial.isra.17' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:168:2: note: in definition of macro 'DEFINE_TEST' var_type var INIT_ ## which ## _ ## init_level; \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:267:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(static_partial); ^ /kisskb/src/lib/test_stackinit.c: In function 'test_big_hole_static_partial': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'test_big_hole_static_partial' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:101:2: note: in definition of macro 'DEFINE_TEST_DRIVER' var_type zero INIT_CLONE_ ## which; \ ^ /kisskb/src/lib/test_stackinit.c:254:3: note: in expansion of macro 'DEFINE_TEST' DEFINE_TEST(name ## _ ## init, \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:267:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(static_partial); ^ /kisskb/src/lib/test_stackinit.c: In function 'leaf_big_hole_dynamic_partial.isra.29': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'leaf_big_hole_dynamic_partial.isra.29' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:168:2: note: in definition of macro 'DEFINE_TEST' var_type var INIT_ ## which ## _ ## init_level; \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:270:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(dynamic_partial); ^ /kisskb/src/lib/test_stackinit.c: In function 'test_big_hole_dynamic_partial': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'test_big_hole_dynamic_partial' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:101:2: note: in definition of macro 'DEFINE_TEST_DRIVER' var_type zero INIT_CLONE_ ## which; \ ^ /kisskb/src/lib/test_stackinit.c:254:3: note: in expansion of macro 'DEFINE_TEST' DEFINE_TEST(name ## _ ## init, \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:270:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(dynamic_partial); ^ /kisskb/src/lib/test_stackinit.c: In function 'leaf_big_hole_runtime_partial.isra.41': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'leaf_big_hole_runtime_partial.isra.41' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:168:2: note: in definition of macro 'DEFINE_TEST' var_type var INIT_ ## which ## _ ## init_level; \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:273:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(runtime_partial); ^ /kisskb/src/lib/test_stackinit.c: In function 'test_big_hole_runtime_partial': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'test_big_hole_runtime_partial' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:101:2: note: in definition of macro 'DEFINE_TEST_DRIVER' var_type zero INIT_CLONE_ ## which; \ ^ /kisskb/src/lib/test_stackinit.c:254:3: note: in expansion of macro 'DEFINE_TEST' DEFINE_TEST(name ## _ ## init, \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:273:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(runtime_partial); ^ /kisskb/src/lib/test_stackinit.c: In function 'leaf_big_hole_runtime_all.isra.49': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'leaf_big_hole_runtime_all.isra.49' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:168:2: note: in definition of macro 'DEFINE_TEST' var_type var INIT_ ## which ## _ ## init_level; \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:274:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(runtime_all); ^ /kisskb/src/lib/test_stackinit.c: In function 'test_big_hole_runtime_all': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'test_big_hole_runtime_all' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:101:2: note: in definition of macro 'DEFINE_TEST_DRIVER' var_type zero INIT_CLONE_ ## which; \ ^ /kisskb/src/lib/test_stackinit.c:254:3: note: in expansion of macro 'DEFINE_TEST' DEFINE_TEST(name ## _ ## init, \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:274:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(runtime_all); ^ /kisskb/src/lib/test_stackinit.c: In function 'leaf_big_hole_none.isra.63': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'leaf_big_hole_none.isra.63' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:168:2: note: in definition of macro 'DEFINE_TEST' var_type var INIT_ ## which ## _ ## init_level; \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:277:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(none); ^ /kisskb/src/lib/test_stackinit.c: In function 'test_big_hole_none': /kisskb/src/lib/test_stackinit.c:255:15: warning: 'test_big_hole_none' uses dynamic stack allocation struct test_ ## name, STRUCT, init) ^ /kisskb/src/lib/test_stackinit.c:101:2: note: in definition of macro 'DEFINE_TEST_DRIVER' var_type zero INIT_CLONE_ ## which; \ ^ /kisskb/src/lib/test_stackinit.c:254:3: note: in expansion of macro 'DEFINE_TEST' DEFINE_TEST(name ## _ ## init, \ ^ /kisskb/src/lib/test_stackinit.c:259:3: note: in expansion of macro 'DEFINE_STRUCT_TEST' DEFINE_STRUCT_TEST(big_hole, init); \ ^ /kisskb/src/lib/test_stackinit.c:277:1: note: in expansion of macro 'DEFINE_STRUCT_TESTS' DEFINE_STRUCT_TESTS(none); ^ /kisskb/src/fs/btrfs/tree-checker.c: In function 'check_root_item': /kisskb/src/fs/btrfs/tree-checker.c:1038:9: warning: missing braces around initializer [-Wmissing-braces] struct btrfs_root_item ri = { 0 }; ^ /kisskb/src/fs/btrfs/tree-checker.c:1038:9: warning: (near initialization for 'ri.inode') [-Wmissing-braces] /kisskb/src/net/bridge/netfilter/ebtables.c: In function 'compat_copy_everything_to_user': /kisskb/src/net/bridge/netfilter/ebtables.c:1767:1: warning: 'compat_copy_everything_to_user' uses dynamic stack allocation } ^ /kisskb/src/drivers/target/iscsi/cxgbit/cxgbit_target.c: In function 'cxgbit_tx_datain_iso.isra.40': /kisskb/src/drivers/target/iscsi/cxgbit/cxgbit_target.c:482:1: warning: 'cxgbit_tx_datain_iso.isra.40' uses dynamic stack allocation } ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.c: In function 'navi10_get_gpu_metrics': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.c:2567:2: warning: missing braces around initializer [-Wmissing-braces] SmuMetrics_NV12_t nv12_metrics = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.c:2567:2: warning: (near initialization for 'nv12_metrics.CurrClock') [-Wmissing-braces] /kisskb/src/drivers/target/iscsi/iscsi_target.c: In function 'iscsit_send_datain': /kisskb/src/drivers/target/iscsi/iscsi_target.c:2887:1: warning: 'iscsit_send_datain' uses dynamic stack allocation } ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c: In function 'amdgpu_dm_psr_enable': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:9076:9: warning: missing braces around initializer [-Wmissing-braces] struct dc_static_screen_params params = {0}; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:9076:9: warning: (near initialization for 'params.triggers') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser2.c: In function 'bios_parser_get_i2c_info': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser2.c:297:9: warning: missing braces around initializer [-Wmissing-braces] struct atom_i2c_record dummy_record = {0}; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser2.c:297:9: warning: (near initialization for 'dummy_record.record_header') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_hw_lock_mgr.c: In function 'dmub_hw_lock_mgr_cmd': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_hw_lock_mgr.c:36:8: warning: missing braces around initializer [-Wmissing-braces] union dmub_rb_cmd cmd = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_hw_lock_mgr.c:36:8: warning: (near initialization for 'cmd.lock_hw') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/rockchip/cdn-dp-core.c:1124:12: warning: 'cdn_dp_resume' defined but not used [-Wunused-function] static int cdn_dp_resume(struct device *dev) ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c: In function 'commit_planes_for_stream': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2440:11: warning: missing braces around initializer [-Wmissing-braces] union dmub_hw_lock_flags hw_locks = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2440:11: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2622:11: warning: missing braces around initializer [-Wmissing-braces] union dmub_hw_lock_flags hw_locks = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2622:11: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c: In function 'dp_test_get_audio_test_data': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:2795:8: warning: missing braces around initializer [-Wmissing-braces] union audio_test_mode dpcd_test_mode = {0}; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:2795:8: warning: (near initialization for 'dpcd_test_mode.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:2797:8: warning: missing braces around initializer [-Wmissing-braces] union audio_test_pattern_period dpcd_pattern_period[AUDIO_CHANNELS_COUNT] = {0}; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:2797:8: warning: (near initialization for 'dpcd_pattern_period[0]') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c: In function 'dc_link_dp_set_test_pattern': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:4126:11: warning: missing braces around initializer [-Wmissing-braces] union dmub_hw_lock_flags hw_locks = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:4126:11: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:4170:11: warning: missing braces around initializer [-Wmissing-braces] union dmub_hw_lock_flags hw_locks = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:4170:11: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/xlnx/zynqmp_dp.c: In function 'zynqmp_dp_update_vs_emph': /kisskb/src/drivers/gpu/drm/xlnx/zynqmp_dp.c:667:9: warning: missing braces around initializer [-Wmissing-braces] union phy_configure_opts opts = { 0 }; ^ /kisskb/src/drivers/gpu/drm/xlnx/zynqmp_dp.c:667:9: warning: (near initialization for 'opts.mipi_dphy') [-Wmissing-braces] /kisskb/src/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c: In function 'wait_for_states.constprop': /kisskb/src/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c:435:1: warning: 'wait_for_states.constprop' uses dynamic stack allocation } ^ In file included from /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:42:0: /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c: In function 'mvpp2_setup_bm_pool': /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2.h:760:2: warning: overflow in implicit constant conversion [-Woverflow] ((total_size) - MVPP2_SKB_HEADROOM - MVPP2_SKB_SHINFO_SIZE) ^ /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2.h:864:33: note: in expansion of macro 'MVPP2_RX_MAX_PKT_SIZE' #define MVPP2_BM_SHORT_PKT_SIZE MVPP2_RX_MAX_PKT_SIZE(MVPP2_BM_SHORT_FRAME_SIZE) ^ /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:647:41: note: in expansion of macro 'MVPP2_BM_SHORT_PKT_SIZE' mvpp2_pools[MVPP2_BM_SHORT].pkt_size = MVPP2_BM_SHORT_PKT_SIZE; ^ /kisskb/src/drivers/input/joystick/analog.c:160:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] #warning Precise timer not defined for this architecture. ^ /kisskb/src/drivers/net/ethernet/mscc/ocelot_vcap.c: In function 'is1_entry_set': /kisskb/src/drivers/net/ethernet/mscc/ocelot_vcap.c:755:11: warning: missing braces around initializer [-Wmissing-braces] struct ocelot_vcap_u16 etype = {0}; ^ /kisskb/src/drivers/net/ethernet/mscc/ocelot_vcap.c:755:11: warning: (near initialization for 'etype.value') [-Wmissing-braces] /kisskb/src/drivers/net/ethernet/neterion/vxge/vxge-config.c: In function 'vxge_hw_device_hw_info_get': /kisskb/src/drivers/net/ethernet/neterion/vxge/vxge-config.c:1092:1: warning: 'vxge_hw_device_hw_info_get' uses dynamic stack allocation } ^ /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aes_cbc_setkey': /kisskb/src/drivers/crypto/sa2ul.c:924:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:924:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aes_ecb_setkey': /kisskb/src/drivers/crypto/sa2ul.c:944:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:944:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_3des_cbc_setkey': /kisskb/src/drivers/crypto/sa2ul.c:962:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:962:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_3des_ecb_setkey': /kisskb/src/drivers/crypto/sa2ul.c:976:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:976:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_sha1_cra_init': /kisskb/src/drivers/crypto/sa2ul.c:1601:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1601:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_sha256_cra_init': /kisskb/src/drivers/crypto/sa2ul.c:1617:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1617:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_sha512_cra_init': /kisskb/src/drivers/crypto/sa2ul.c:1633:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1633:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aead_cbc_sha1_setkey': /kisskb/src/drivers/crypto/sa2ul.c:1862:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1862:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aead_cbc_sha256_setkey': /kisskb/src/drivers/crypto/sa2ul.c:1875:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1875:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/media/platform/marvell-ccic/mmp-driver.c:310:12: warning: 'mmpcam_runtime_resume' defined but not used [-Wunused-function] static int mmpcam_runtime_resume(struct device *dev) ^ /kisskb/src/drivers/media/platform/marvell-ccic/mmp-driver.c:324:12: warning: 'mmpcam_runtime_suspend' defined but not used [-Wunused-function] static int mmpcam_runtime_suspend(struct device *dev) ^ /kisskb/src/arch/s390/boot/mem_detect.c: In function 'detect_memory': /kisskb/src/arch/s390/boot/mem_detect.c:175:1: warning: 'detect_memory' uses dynamic stack allocation } ^ Completed OK # rm -rf /kisskb/build/linus_s390-allyesconfig_s390x-gcc4.9 # Build took: 0:23:50.358223