From: Arnd Bergmann <a...@arndb.de> Date: Fri, 12 Jul 2019 11:06:33 +0200
> The cudbg_collect_mem_region() and cudbg_read_fw_mem() both use several > hundred kilobytes of kernel stack space. One gets inlined into the other, > which causes the stack usage to be combined beyond the warning limit > when building with clang: > > drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c:1057:12: error: stack frame > size of 1244 bytes in function 'cudbg_collect_mem_region' > [-Werror,-Wframe-larger-than=] > > Restructuring cudbg_collect_mem_region() lets clang do the same > optimization that gcc does and reuse the stack slots as it can > see that the large variables are never used together. > > A better fix might be to avoid using cudbg_meminfo on the stack > altogether, but that requires a larger rewrite. > > Fixes: a1c69520f785 ("cxgb4: collect MC memory dump") > Signed-off-by: Arnd Bergmann <a...@arndb.de> Applied.