On 02/22/2016 10:54 PM, 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 <[email protected]>
> Signed-off-by: Josh Poimboeuf <[email protected]>

<snip>

> -
> -             print_modules();
> -             show_regs(regs);
> -             print_oops_end_marker();
> -             /* Just a warning, don't kill lockdep. */
> -             add_taint(BUG_GET_TAINT(bug), LOCKDEP_STILL_OK);
> +             __warn(file, line, (void *)bugaddr, BUG_GET_TAINT(bug), regs,
> +                    NULL);
> +

^^^ minor minor minor nit: extra line here.  Not a big deal but change it if
anyone else complains.

Other than that ...

Acked-and-tested-by: Prarit Bhargava <[email protected]>

P.

>               return BUG_TRAP_TYPE_WARN;
>       }
>  
> 

Reply via email to