Re: [PATCH] Enable '-Werror' by default for all kernel builds
From: Marco Elver <elver@google.com>
Date: 2021-09-09 12:04:45
Also in:
amd-gfx, linux-riscv, lkml
On Thu, 9 Sept 2021 at 13:00, Arnd Bergmann [off-list ref] wrote:
On Thu, Sep 9, 2021 at 12:54 PM Marco Elver [off-list ref] wrote:quoted
On Thu, 9 Sept 2021 at 07:59, Christoph Hellwig [off-list ref] wrote:quoted
On Wed, Sep 08, 2021 at 11:58:56PM +0200, Marco Elver wrote:quoted
It'd be good to avoid. It has helped uncover build issues with KASAN in the past. Or at least make it dependent on the problematic architecture. For example if arm is a problem, something like this:I'm also seeing quite a few stack size warnings with KASAN on x86_64 without COMPILT_TEST using gcc 10.2.1 from Debian. In fact there are a few warnings without KASAN, but with KASAN there are a lot more. I'll try to find some time to dig into them.Right, this reminded me that we actually at least double the real stack size for KASAN builds, because it inherently requires more stack space. I think we need Wframe-larger-than to match that, otherwise we'll just keep having this problem: https://lkml.kernel.org/r/20210909104925.809674-1-elver@google.comThe problem with this is that it completely defeats the point of the stack size warnings in allmodconfig kernels when they have KASAN enabled and end up missing obvious code bugs in drivers that put large structures on the stack. Let's not go there.
Sure, but the reality is that the real stack size is already doubled for KASAN. And that should be reflected in Wframe-larger-than. Either that, or we just have to live with the occasional warning (that is likely benign). But with WERROR we're now forced to make the defaults as sane as possible. If the worry is allmodconfig, maybe we do have to make KASAN dependent on !COMPILE_TEST, even though that's not great either because it has caught real issues in the past (it'll also mean doing the same for all other instrumentation-based tools, like KCSAN, UBSAN, etc.).