Re: [PATCH] lib/Kconfig.debug: disable FRAME_WARN for kasan and kcsan

From: Geert Uytterhoeven
Date: Wed Oct 18 2023 - 15:12:46 EST


Hi Hamza,

On Wed, Oct 18, 2023 at 8:39 PM Hamza Mahfooz <hamza.mahfooz@xxxxxxx> wrote:
> On 10/18/23 14:29, Geert Uytterhoeven wrote:
> > On Wed, Oct 18, 2023 at 8:24 PM Hamza Mahfooz <hamza.mahfooz@xxxxxxx> wrote:
> >> With every release of LLVM, both of these sanitizers eat up more and
> >> more of the stack. So, set FRAME_WARN to 0 if either of them is enabled
> >> for a given build.
> >>
> >> Cc: stable@xxxxxxxxxxxxxxx
> >> Signed-off-by: Hamza Mahfooz <hamza.mahfooz@xxxxxxx>
> >
> > Thanks for your patch!
> >
> >> --- a/lib/Kconfig.debug
> >> +++ b/lib/Kconfig.debug
> >> @@ -429,11 +429,10 @@ endif # DEBUG_INFO
> >> config FRAME_WARN
> >> int "Warn for stack frames larger than"
> >> range 0 8192
> >> - default 0 if KMSAN
> >> + default 0 if KASAN || KCSAN || KMSAN
> >
> > Are kernels with KASAN || KCSAN || KMSAN enabled supposed to be bootable?
>
> They are all intended to be used for runtime debugging, so I'd imagine so.

Then I strongly suggest putting a nonzero value here. As you write
that "with every release of LLVM, both of these sanitizers eat up more and more
of the stack", don't you want to have at least some canary to detect
when "more and more" is guaranteed to run into problems?

> > Stack overflows do cause crashes.
>
> It is worth noting that FRAME_WARN has been disabled for KMSAN for quite
> a while and as far as I can tell no one has complained.

ROTFL...

> >> 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

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds