All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Thomas Mingarelli <thomas.mingarelli@hpe.com>,
	Wim Van Sebroeck <wim@iguana.be>, Corey Minyard <minyard@acm.org>
Cc: linux-watchdog@vger.kernel.org, linux-kernel@vger.kernel.org,
	Michal Hocko <mhocko@kernel.org>, Borislav Petkov <bp@alien8.de>,
	openipmi-developer@lists.sourceforge.net
Subject: Re: [v3 PATCH 3/3] hpwdt: Use nmi_panic() when kernel panics in NMI handler
Date: Thu, 3 Mar 2016 04:17:00 -0800	[thread overview]
Message-ID: <56D82B3C.20209@roeck-us.net> (raw)
In-Reply-To: <20160303105748.4587.70794.stgit@softrs>

On 03/03/2016 02:57 AM, Hidehiro Kawai wrote:
> commit 1717f2096b54 ("panic, x86: Fix re-entrance problem due to
> panic on NMI") introduced nmi_panic() which prevents concurrent and
> recursive execution of panic().  It also saves registers for the
> crash dump on x86 by later commit 58c5661f2144 ("panic, x86: Allow
> CPUs to save registers even if looping in NMI context").
>
> hpwdt driver can call panic() from NMI handler, so replace it with
> nmi_panic().  Also, do some cleanups.
>
> Changes since V1:
> - Use direct return instead of goto
> - Combine the panic message string into a single line
>
> Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
> Cc: Thomas Mingarelli <thomas.mingarelli@hpe.com>
> Cc: Wim Van Sebroeck <wim@iguana.be>
> Cc: Guenter Roeck <linux@roeck-us.net>

Acked-by: Guenter Roeck <linux@roeck-us.net>

> Cc: linux-watchdog@vger.kernel.org

In case you resend the series, please drop this Cc: from the commit logs.
Please see usage of Cc: in Documentation/SubmittingPatches.

Thanks,
Guenter

> ---
>   drivers/watchdog/hpwdt.c |   11 +++++------
>   1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
> index 92443c3..a6c8797 100644
> --- a/drivers/watchdog/hpwdt.c
> +++ b/drivers/watchdog/hpwdt.c
> @@ -483,7 +483,7 @@ static int hpwdt_pretimeout(unsigned int ulReason, struct pt_regs *regs)
>   	static int die_nmi_called;
>
>   	if (!hpwdt_nmi_decoding)
> -		goto out;
> +		return NMI_DONE;
>
>   	spin_lock_irqsave(&rom_lock, rom_pl);
>   	if (!die_nmi_called && !is_icru && !is_uefi)
> @@ -496,11 +496,11 @@ static int hpwdt_pretimeout(unsigned int ulReason, struct pt_regs *regs)
>
>   	if (!is_icru && !is_uefi) {
>   		if (cmn_regs.u1.ral == 0) {
> -			panic("An NMI occurred, "
> -				"but unable to determine source.\n");
> +			nmi_panic(regs, "An NMI occurred, but unable to determine source.\n");
> +			return NMI_HANDLED;
>   		}
>   	}
> -	panic("An NMI occurred. Depending on your system the reason "
> +	nmi_panic(regs, "An NMI occurred. Depending on your system the reason "
>   		"for the NMI is logged in any one of the following "
>   		"resources:\n"
>   		"1. Integrated Management Log (IML)\n"
> @@ -508,8 +508,7 @@ static int hpwdt_pretimeout(unsigned int ulReason, struct pt_regs *regs)
>   		"3. OA Forward Progress Log\n"
>   		"4. iLO Event Log");
>
> -out:
> -	return NMI_DONE;
> +	return NMI_HANDLED;
>   }
>   #endif /* CONFIG_HPWDT_NMI_DECODING */
>
>
>
>


  reply	other threads:[~2016-03-03 12:17 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-03 10:57 [v3 PATCH 0/3] Use nmi_panic() in panic on NMI case Hidehiro Kawai
2016-03-03 10:57 ` [v3 PATCH 1/3] panic: Change nmi_panic from macro to function Hidehiro Kawai
2016-03-03 13:14   ` Borislav Petkov
2016-03-07 10:53     ` 河合英宏 / KAWAI,HIDEHIRO
2016-03-07 11:13       ` Borislav Petkov
2016-03-07 11:13         ` Borislav Petkov
2016-03-04 17:49   ` Michal Hocko
2016-03-04 19:27   ` Michal Nazarewicz
2016-03-04 19:27     ` Michal Nazarewicz
2016-03-03 10:57 ` [v3 PATCH 2/3] ipmi/watchdog: Use nmi_panic() when kernel panics in NMI handler Hidehiro Kawai
2016-03-03 10:57 ` [v3 PATCH 3/3] hpwdt: " Hidehiro Kawai
2016-03-03 12:17   ` Guenter Roeck [this message]
2016-03-07 11:07   ` [Openipmi-developer] " 河合英宏 / KAWAI,HIDEHIRO

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=56D82B3C.20209@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=hidehiro.kawai.ez@hitachi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=mhocko@kernel.org \
    --cc=minyard@acm.org \
    --cc=openipmi-developer@lists.sourceforge.net \
    --cc=thomas.mingarelli@hpe.com \
    --cc=wim@iguana.be \
    /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.