On Fri, Sep 17, 2021 at 09:22:08AM +0200, Arnd Bergmann wrote:
On Fri, Sep 17, 2021 at 8:11 AM Brendan Higgins brendanhiggins@google.com wrote:
From: Arnd Bergmann arnd@arndb.de
The structleak plugin causes the stack frame size to grow immensely:
lib/bitfield_kunit.c: In function 'test_bitfields_constants': lib/bitfield_kunit.c:93:1: error: the frame size of 7440 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
Turn it off in this file.
Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Brendan Higgins brendanhiggins@google.com
lib/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Makefile b/lib/Makefile index 5efd1b435a37c..c93c4b59af969 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -351,7 +351,7 @@ obj-$(CONFIG_OBJAGG) += objagg.o obj-$(CONFIG_PLDMFW) += pldmfw/
# KUnit tests -CFLAGS_bitfield_kunit.o := $(call cc-option,-Wframe-larger-than=10240) +CFLAGS_bitfield_kunit.o := $(call cc-option,-Wframe-larger-than=10240) $(DISABLE_STRUCTLEAK_PLUGIN)
I think the $(call cc-option,-Wframe-larger-than=10240) needs to be dropped here. This was not in my original patch and it is definitely broken on all architectures with 8KB stack size or less if the function needs that much. What is the amount of actual stack usage you observe without this? If we still get a warning, then I think this needs to be fixed in the code.
With the frame-larger-than dropped:
Reviewed-by: Kees Cook keescook@chromium.org