Applied. Thanks. Will include this in my -fixes PR later this week. Alex
On Sun, Sep 27, 2026 at 12:26 PM Sasha Levin <[email protected]> wrote: > > Building x86_64 allmodconfig with clang fails: > > .../dml2_0/dml21/src/dml2_core/dml2_core_dcn4_calcs.c:10491:13: > error: stack frame size (3128) exceeds limit (3072) in > 'dml_core_mode_programming' [-Werror,-Wframe-larger-than] > > That config enables both KASAN and UBSAN, and should get the 4096 > byte limit meant for clang COMPILE_TEST sanitizer builds. The check > in the dml and dml2_0 Makefiles concatenates the three symbols with > no separator: > > ifeq ($(filter y,$(CONFIG_KASAN)$(CONFIG_KCSAN)$(CONFIG_UBSAN)),y) > > KASAN and KCSAN cannot be enabled together, so before UBSAN was > added the string was at most "y". UBSAN can be enabled alongside > either of them, and with both set the string becomes "yy", > $(filter y,yy) is empty, and the build falls through to the > non-sanitizer limit of 3072. Adding UBSAN to the check therefore > lowered the limit for the most heavily instrumented builds instead > of raising it. > > Separate the symbols with spaces so that $(filter) sees individual > words, and test for a non-empty result. Only the configs with two > sanitizers enabled change behaviour. > > Found by KernelCI builds of the linus-next tree. > > Fixes: ebf8b0fd8508 ("drm/amd/display: Relax DML frame limit with UBSAN") > Assisted-by: LLM > Signed-off-by: Sasha Levin <[email protected]> > --- > drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- > drivers/gpu/drm/amd/display/dc/dml2_0/Makefile | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile > b/drivers/gpu/drm/amd/display/dc/dml/Makefile > index 91465ac05c971..eb4ce5b1ecfbb 100644 > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile > @@ -29,7 +29,7 @@ dml_ccflags := $(CC_FLAGS_FPU) > dml_rcflags := $(CC_FLAGS_NO_FPU) > > ifneq ($(CONFIG_FRAME_WARN),0) > - ifeq ($(filter y,$(CONFIG_KASAN)$(CONFIG_KCSAN)$(CONFIG_UBSAN)),y) > + ifneq ($(filter y,$(CONFIG_KASAN) $(CONFIG_KCSAN) $(CONFIG_UBSAN)),) > ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_COMPILE_TEST),yy) > frame_warn_limit := 4096 > else > diff --git a/drivers/gpu/drm/amd/display/dc/dml2_0/Makefile > b/drivers/gpu/drm/amd/display/dc/dml2_0/Makefile > index e8bd061be05c1..2181079c89d0e 100644 > --- a/drivers/gpu/drm/amd/display/dc/dml2_0/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/dml2_0/Makefile > @@ -28,7 +28,7 @@ dml2_ccflags := $(CC_FLAGS_FPU) > dml2_rcflags := $(CC_FLAGS_NO_FPU) > > ifneq ($(CONFIG_FRAME_WARN),0) > - ifeq ($(filter y,$(CONFIG_KASAN)$(CONFIG_KCSAN)$(CONFIG_UBSAN)),y) > + ifneq ($(filter y,$(CONFIG_KASAN) $(CONFIG_KCSAN) $(CONFIG_UBSAN)),) > ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_COMPILE_TEST),yy) > frame_warn_limit := 4096 > else > -- > 2.53.0 >
