Re: [PATCH v2 7/7] bug: Move WARN_ON() "cut here" into exception handler

From: Andrew Morton
Date: Thu Aug 22 2019 - 18:56:15 EST


On Tue, 20 Aug 2019 09:47:55 -0700 Kees Cook <keescook@xxxxxxxxxxxx> wrote:

> Reply-To: 20190819234111.9019-8-keescook@xxxxxxxxxxxx

Really?

> Subject: [PATCH v2 7/7] bug: Move WARN_ON() "cut here" into exception handler

It's strange to receive a standalone [7/7] patch.

> Date: Tue, 20 Aug 2019 09:47:55 -0700
> Sender: linux-kernel-owner@xxxxxxxxxxxxxxx
>
> The original clean up of "cut here" missed the WARN_ON() case (that
> does not have a printk message), which was fixed recently by adding
> an explicit printk of "cut here". This had the downside of adding a
> printk() to every WARN_ON() caller, which reduces the utility of using
> an instruction exception to streamline the resulting code. By making
> this a new BUGFLAG, all of these can be removed and "cut here" can be
> handled by the exception handler.
>
> This was very pronounced on PowerPC, but the effect can be seen on
> x86 as well. The resulting text size of a defconfig build shows some
> small savings from this patch:
>
> text data bss dec hex filename
> 19691167 5134320 1646664 26472151 193eed7 vmlinux.before
> 19676362 5134260 1663048 26473670 193f4c6 vmlinux.after
>
> This change also opens the door for creating something like BUG_MSG(),
> where a custom printk() before issuing BUG(), without confusing the "cut
> here" line.

I can't get this to apply to anything, so I guess that [1/7]-[6/7]
mattered ;)

> Reported-by: Christophe Leroy <christophe.leroy@xxxxxx>
> Fixes: Fixes: 6b15f678fb7d ("include/asm-generic/bug.h: fix "cut here" for WARN_ON for __WARN_TAINT architectures")

I'm seeing double.

> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>