All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Heiko Carstens <heiko.carstens@de.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Prarit Bhargava <prarit@redhat.com>
Subject: Re: [PATCH] lib/bug: make panic_on_warn available for all architectures
Date: Fri, 22 Jan 2016 14:41:47 +0100	[thread overview]
Message-ID: <56A2319B.1050903@de.ibm.com> (raw)
In-Reply-To: <1453468336-60133-1-git-send-email-heiko.carstens@de.ibm.com>

On 01/22/2016 02:12 PM, Heiko Carstens wrote:
> Christian Borntraeger reported that panic_on_warn doesn't have any
> effect on s390.
> 
> The panic_on_warn feature was introduced with 9e3961a09798 ("kernel:
> add panic_on_warn"). However it did care only for the case when
> WANT_WARN_ON_SLOWPATH is defined. This is turn is only the case for
> architectures which do not have an own __WARN_TAINT defined.
> 
> Other architectures which do have __WARN_TAINT defined call
> report_bug() for warnings within lib/bug.c which does not call panic()
> in case panic_on_warn is set.
> 
> Let's simply enable the panic_on_warn feature by adding the same code
> like it was added to warn_slowpath_common() in panic.c.
> 
> This enables panic_on_warn also for arm64, parisc, powerpc, s390 and
> sh.
> 
> Cc: Prarit Bhargava <prarit@redhat.com>
> Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>

Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>

> ---
>  lib/bug.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/lib/bug.c b/lib/bug.c
> index cff145f032a5..6cde380f09de 100644
> --- a/lib/bug.c
> +++ b/lib/bug.c
> @@ -175,6 +175,17 @@ enum bug_trap_type report_bug(unsigned long bugaddr, struct pt_regs *regs)
>  			pr_warn("WARNING: at %p [verbose debug info unavailable]\n",
>  				(void *)bugaddr);
> 
> +		if (panic_on_warn) {
> +			/*
> +			 * This thread may hit another WARN() in the panic path.
> +			 * Resetting this prevents additional WARN() from
> +			 * panicking the system on this thread.  Other threads
> +			 * are blocked by the panic_mutex in panic().
> +			 */
> +			panic_on_warn = 0;
> +			panic("panic_on_warn set ...\n");
> +		}
> +
>  		print_modules();
>  		show_regs(regs);
>  		print_oops_end_marker();
> 

  reply	other threads:[~2016-01-22 13:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-22 13:12 [PATCH] lib/bug: make panic_on_warn available for all architectures Heiko Carstens
2016-01-22 13:41 ` Christian Borntraeger [this message]
2016-01-22 13:53 ` Prarit Bhargava
2016-01-26 23:14 ` Andrew Morton
2016-02-01 14:06   ` Heiko Carstens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56A2319B.1050903@de.ibm.com \
    --to=borntraeger@de.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=heiko.carstens@de.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=prarit@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.