Re: maple_tree.c:3738:1: error: the frame size of 1040 bytes is larger than 1024 bytes
From: David Laight
Date: Thu Oct 30 2025 - 10:34:04 EST
On Thu, 30 Oct 2025 14:35:12 +0100 (CET)
Christian Kujau <lists@xxxxxxxxxxxxxxx> wrote:
> Hi,
>
> while cross-compiling the latest mainline checkout for x86_64, this
> happened:
>
> ------------------
> $ make -j24 O=${DIR} ARCH=x86 CROSS_COMPILE=x86_64-linux-gnu- \
> CC="x86_64-linux-gnu-gcc" bzImage
> [...]
> CC lib/maple_tree.o
> lib/maple_tree.c: In function ‘mas_wr_bnode’:
> lib/maple_tree.c:3738:1: error: the frame size of 1040 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
> 3738 | }
> | ^
> cc1: all warnings being treated as errors
> ------------------
>
> This is basically "allnoconfig" with CONFIG_WERROR and some debugging
> options enabled. I found 44081c77e8a4 ("maple_tree: reduce stack usage
> with gcc-9 and earlier") where a similar issue has been reported before,
> but this was 2023. I'm trying to build this on a Debian/13 arm64 system:
>
> $ x86_64-linux-gnu-gcc --version | head -1
> x86_64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0
>
> Git bisect pointed to:
>
> ------------------
> commit 9b05890a25d9197e39fcf5b2298f0b911c323306
> Author: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>
> Date: Wed Sep 3 15:00:01 2025 +0200
>
> maple_tree: Prefilled sheaf conversion and testing
> ------------------
>
> This looks related, but I was unable to revert only this commit. I can try
> harder, but maybe someone has an idea how to tackle this.
Does marking mas_wr_bnode() 'noinline' help?
Some functions are marked noinline for KASAN builds, the comment suggests
mas_wr_bnode() is one of them - but it isn't marked at all.
I'd try an unconditional noinline first.
David
>
> Thanks,
> Christian.