On 2025-01-30 02:04, Greg KH wrote:
On Thu, Jan 30, 2025 at 07:47:59AM +0100, Greg KH wrote:
On Mon, Jan 06, 2025 at 12:29:32PM -0500, Alex Deucher wrote:
Applied. Thanks!
Thanks, but I am still getting this error on Linus's current tree right
now, with this commit applied:
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.o
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6713:12: error: stack frame size (2056) exceeds limit (2048) in 'dml_core_mode_support' [-Werror,-Wframe-larger-than]
6713 | dml_bool_t dml_core_mode_support(struct display_mode_lib_st *mode_lib)
| ^
1 error generated.
I think the issue is:
--- a/drivers/gpu/drm/amd/display/dc/dml2/Makefile
+++ b/drivers/gpu/drm/amd/display/dc/dml2/Makefile
@@ -29,7 +29,11 @@ dml2_rcflags := $(CC_FLAGS_NO_FPU)
ifneq ($(CONFIG_FRAME_WARN),0)
ifeq ($(filter y,$(CONFIG_KASAN)$(CONFIG_KCSAN)),y)
I do not have CONFIG_KASAN or CONFIG_KCSAN enabled, but I do have:
+ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_COMPILE_TEST),yy)
These two options enabled, and for some reason:
CONFIG_FRAME_WARN=2048
as well.
Ah, 2048 is the default value, that's how.
So this warning triggers even without KASAN or KCSAN being enabled, is
that to be expected? Is the stack really being used that much here?
I'll go bump FRAME_WARN up to get some local testing working again, but
odds are others are going to hit this if I am in my "normal" build
tests.
Ick, no, bumping CONFIG_FRAME_WARN=8192 doesn't fix this here either.
Any hints?
It looks like we always override CONFIG_FRAME_WARN...
ifneq ($(CONFIG_FRAME_WARN),0)
ifeq ($(filter y,$(CONFIG_KASAN)$(CONFIG_KCSAN)),y)
ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_COMPILE_TEST),yy)
frame_warn_flag := -Wframe-larger-than=4096
else
frame_warn_flag := -Wframe-larger-than=3072
endif
else
frame_warn_flag := -Wframe-larger-than=2048
... right here for the default case.
You could bump that locally.
A more robust solution would be to do a greater-than check here
(for all the cases) and only set -Wframe-larger-than if the value
is greater than the one defined by CONFIG_FRAME_WARN. There are
a few "-gt" uses in other Makefiles, so I would think it's fine
to use that.
I'm no Makefile expert but if this seems like a reasonable course
of action I can take a stab at it.
Harry
endif
endif
thanks,
greg k-h