2022-11-25 12:27:27

by Lee Jones

[permalink] [raw]
Subject: [PATCH v2 0/2] Fix a bunch of allmodconfig errors

Since b339ec9c229aa ("kbuild: Only default to -Werror if COMPILE_TEST") WERROR
now defaults to COMPILE_TEST meaning that it's enabled for allmodconfig
builds. This leads to some interesting failures, each resolved in this set.

With this set applied, I am able to obtain a successful allmodconfig Arm build.

v1 => v2:
- Remove superfluous change (these two override it)
- Mark only DRM_AMD_DC ("the new display engine) as Broken
- Change logic to only *include* working arches, not *preclude* them

Lee Jones (2):
drm/amdgpu: Temporarily disable broken Clang builds due to blown
stack-frame
Kconfig.debug: Provide a little extra FRAME_WARN leeway when KASAN is
enabled

drivers/gpu/drm/amd/display/Kconfig | 7 +++++++
lib/Kconfig.debug | 1 +
2 files changed, 8 insertions(+)

--
2.38.1.584.g0f3c55d4c2-goog


2022-11-25 13:06:22

by Lee Jones

[permalink] [raw]
Subject: [PATCH v2 2/2] Kconfig.debug: Provide a little extra FRAME_WARN leeway when KASAN is enabled

When enabled, KASAN enlarges function's stack-frames. Pushing quite a
few over the current threshold. This can mainly be seen on 32-bit
architectures where the present limit (when !GCC) is a lowly
1024-Bytes.

Signed-off-by: Lee Jones <[email protected]>
---
lib/Kconfig.debug | 1 +
1 file changed, 1 insertion(+)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index c3c0b077ade33..82d475168db95 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -399,6 +399,7 @@ config FRAME_WARN
default 2048 if GCC_PLUGIN_LATENT_ENTROPY
default 2048 if PARISC
default 1536 if (!64BIT && XTENSA)
+ default 1280 if KASAN && !64BIT
default 1024 if !64BIT
default 2048 if 64BIT
help
--
2.38.1.584.g0f3c55d4c2-goog

2022-11-25 14:56:07

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] Kconfig.debug: Provide a little extra FRAME_WARN leeway when KASAN is enabled

On Fri, 25 Nov 2022, Lee Jones wrote:

> When enabled, KASAN enlarges function's stack-frames. Pushing quite a
> few over the current threshold. This can mainly be seen on 32-bit
> architectures where the present limit (when !GCC) is a lowly
> 1024-Bytes.
>
> Signed-off-by: Lee Jones <[email protected]>
> ---
> lib/Kconfig.debug | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index c3c0b077ade33..82d475168db95 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -399,6 +399,7 @@ config FRAME_WARN
> default 2048 if GCC_PLUGIN_LATENT_ENTROPY
> default 2048 if PARISC
> default 1536 if (!64BIT && XTENSA)
> + default 1280 if KASAN && !64BIT
> default 1024 if !64BIT
> default 2048 if 64BIT
> help

Note this also fixes 61 warnings when

(GCC && !GCC_PLUGIN_LATENT_ENTROPY)

... which as Arnd says should not be enabled by default. We'll
address that issue once this set has been applied.

--
Lee Jones [李琼斯]

2022-11-25 15:02:09

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] Kconfig.debug: Provide a little extra FRAME_WARN leeway when KASAN is enabled

On Fri, Nov 25, 2022, at 14:40, Lee Jones wrote:
> On Fri, 25 Nov 2022, Lee Jones wrote:
>
>> When enabled, KASAN enlarges function's stack-frames. Pushing quite a
>> few over the current threshold. This can mainly be seen on 32-bit
>> architectures where the present limit (when !GCC) is a lowly
>> 1024-Bytes.
>>
>> Signed-off-by: Lee Jones <[email protected]>
>> ---
>> lib/Kconfig.debug | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
>> index c3c0b077ade33..82d475168db95 100644
>> --- a/lib/Kconfig.debug
>> +++ b/lib/Kconfig.debug
>> @@ -399,6 +399,7 @@ config FRAME_WARN
>> default 2048 if GCC_PLUGIN_LATENT_ENTROPY
>> default 2048 if PARISC
>> default 1536 if (!64BIT && XTENSA)
>> + default 1280 if KASAN && !64BIT
>> default 1024 if !64BIT
>> default 2048 if 64BIT
>> help
>
> Note this also fixes 61 warnings when
>
> (GCC && !GCC_PLUGIN_LATENT_ENTROPY)
>
> ... which as Arnd says should not be enabled by default. We'll
> address that issue once this set has been applied.

Thanks a lot for checking this!

Reviewed-by: Arnd Bergmann <[email protected]>

2022-11-26 00:36:14

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH v2 0/2] Fix a bunch of allmodconfig errors

On Fri, 25 Nov 2022 12:07:48 +0000 Lee Jones <[email protected]> wrote:

> Since b339ec9c229aa ("kbuild: Only default to -Werror if COMPILE_TEST") WERROR
> now defaults to COMPILE_TEST meaning that it's enabled for allmodconfig
> builds. This leads to some interesting failures, each resolved in this set.

I'm not sure who this patchset is aimed at, so I'll take my usual
approach of grabbing it and seeing who complains.

> With this set applied, I am able to obtain a successful allmodconfig Arm build.

b339ec9c229aa is a year old and I've been doing arm allmodconfig for
ever. What am I missing here?

A broken arm allmodconfig is pretty irritating - I'm thinking that a
fix should be backported into -stable kernels. But I'm clearly missing
something here.

2022-11-26 01:09:34

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH v2 0/2] Fix a bunch of allmodconfig errors

On Fri, 25 Nov 2022 12:07:48 +0000 Lee Jones <[email protected]> wrote:

> Since b339ec9c229aa ("kbuild: Only default to -Werror if COMPILE_TEST") WERROR
> now defaults to COMPILE_TEST meaning that it's enabled for allmodconfig
> builds. This leads to some interesting failures, each resolved in this set.

Oh, I get it. Clang. I'll tweak the above para to make that clearer.

cc:stable question still applies? How much trouble will these build
errors be causing people for the next N years?

> With this set applied, I am able to obtain a successful allmodconfig Arm build.

2022-11-28 06:44:29

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] Kconfig.debug: Provide a little extra FRAME_WARN leeway when KASAN is enabled

On Fri, Nov 25, 2022 at 12:07:50PM +0000, Lee Jones wrote:
> When enabled, KASAN enlarges function's stack-frames. Pushing quite a
> few over the current threshold. This can mainly be seen on 32-bit
> architectures where the present limit (when !GCC) is a lowly
> 1024-Bytes.
>
> Signed-off-by: Lee Jones <[email protected]>

Reviewed-by: Nathan Chancellor <[email protected]>

> ---
> lib/Kconfig.debug | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index c3c0b077ade33..82d475168db95 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -399,6 +399,7 @@ config FRAME_WARN
> default 2048 if GCC_PLUGIN_LATENT_ENTROPY
> default 2048 if PARISC
> default 1536 if (!64BIT && XTENSA)
> + default 1280 if KASAN && !64BIT
> default 1024 if !64BIT
> default 2048 if 64BIT
> help
> --
> 2.38.1.584.g0f3c55d4c2-goog
>

2022-11-28 08:04:43

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 0/2] Fix a bunch of allmodconfig errors

On Fri, 25 Nov 2022, Andrew Morton wrote:

> On Fri, 25 Nov 2022 12:07:48 +0000 Lee Jones <[email protected]> wrote:
>
> > Since b339ec9c229aa ("kbuild: Only default to -Werror if COMPILE_TEST") WERROR
> > now defaults to COMPILE_TEST meaning that it's enabled for allmodconfig
> > builds. This leads to some interesting failures, each resolved in this set.
>
> I'm not sure who this patchset is aimed at, so I'll take my usual
> approach of grabbing it and seeing who complains.
>
> > With this set applied, I am able to obtain a successful allmodconfig Arm build.
>
> b339ec9c229aa is a year old and I've been doing arm allmodconfig for
> ever. What am I missing here?
>
> A broken arm allmodconfig is pretty irritating - I'm thinking that a
> fix should be backported into -stable kernels. But I'm clearly missing
> something here.

I will be taking these through all applicable Stable kernels.

--
Lee Jones [李琼斯]