Re: [PATCH] lib/bug.c: use common WARN helper

From: Heiko Carstens
Date: Tue Feb 23 2016 - 07:14:43 EST


On Mon, Feb 22, 2016 at 09:54:17PM -0600, Josh Poimboeuf wrote:
> The traceoff_on_warning option doesn't have any effect on s390, powerpc,
> arm64, parisc, and sh because there are two different types of WARN
> implementations:
>
> 1) The above mentioned architectures treat WARN() as a special case of a
> BUG() exception. They handle warnings in report_bug() in lib/bug.c.
>
> 2) All other architectures just call warn_slowpath_*() directly. Their
> warnings are handled in warn_slowpath_common() in kernel/panic.c.
>
> Support traceoff_on_warning on all architectures and prevent any future
> divergence by using a single common function to emit the warning.
>
> Also remove the '()' from '%pS()', because the parentheses look funky:
>
> [ 45.607629] WARNING: at /root/warn_mod/warn_mod.c:17 .init_dummy+0x20/0x40 [warn_mod]()
>
> Reported-by: Chunyu Hu <chuhu@xxxxxxxxxx>
> Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> ---
> Based on linux-next/master.
>
> include/asm-generic/bug.h | 7 +++++++
> kernel/panic.c | 44 +++++++++++++++++++++++++-------------------
> lib/bug.c | 27 +++------------------------
> 3 files changed, 35 insertions(+), 43 deletions(-)

Nice! Just tested this on s390.

Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>