On Tue, May 30, 2023, at 21:20, Arnd Bergmann wrote: > On Tue, May 30, 2023, at 21:02, Arnd Bergmann wrote: >> >> CONFIG_COMPILE_TEST=y forces a number of options to be >> hidden from build tests, which is generally super useful. >> The one that ended up hiding the stack growth above is >> CONFIG_GCOV_PROFILE_ALL. I'll try enabling it for a few >> builds to see what else shows up with it. > > Update: you already pointed to UBSAN_SANITIZE_ALL causing > this, I can confirm that this is also the case. With your > config, the combination of CONFIG_GCOV_PROFILE_ALL and > CONFIG_UBSAN_SANITIZE_ALL causes the compiler to completely > mess up register allocation in this code, disabling either > of the two gets it below the boundary. After a night of randconfig builds with both UBSAN_SANITIZE_ALL and GCOV_PROFILE_ALL force-enabled, these are the ones I found, listing only the worst size for each function (using gcc-13.1). None of these show up without GCOV though: crypto/twofish_common.c:683:1: error: the frame size of 2040 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] crypto/twofish_common.c:683:1: error: the frame size of 2336 bytes is larger than 2048 bytes [-Werror=frame-larger-than=] drivers/media/platform/mediatek/vcodec/vdec/vdec_vp9_req_lat_if.c:1589:1: error: the frame size of 1696 bytes is larger than 1400 bytes [-Werror=frame-larger-than=] drivers/media/platform/verisilicon/hantro_g2_vp9_dec.c:754:1: error: the frame size of 1260 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] drivers/staging/media/ipu3/ipu3-css-params.c:1206:1: error: the frame size of 1080 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] drivers/staging/media/rkvdec/rkvdec-vp9.c:1042:1: error: the frame size of 1660 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] drivers/staging/media/rkvdec/rkvdec-vp9.c:1042:1: error: the frame size of 2176 bytes is larger than 2048 bytes [-Werror=frame-larger-than=] drivers/staging/media/rkvdec/rkvdec-vp9.c:995:1: error: the frame size of 1656 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] Arnd