[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150324071129.GA28619@gmail.com>
Date: Tue, 24 Mar 2015 08:11:29 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
Cc: Baoquan He <bhe@...hat.com>,
"Hatayama, Daisuke/畑山 大輔"
<d.hatayama@...fujitsu.com>, ebiederm@...ssion.com,
Vivek Goyal <vgoyal@...hat.com>, hidehiro.kawai.ez@...achi.com,
linux-kernel@...r.kernel.org, kexec@...ts.infradead.org,
akpm@...ux-foundation.org, mingo@...hat.com, bp@...e.de
Subject: Re: Re: [PATCH v2] kernel/panic/kexec: fix
"crash_kexec_post_notifiers" option issue in oops path
* Masami Hiramatsu <masami.hiramatsu.pt@...achi.com> wrote:
> (2015/03/23 16:19), Ingo Molnar wrote:
> >
> > * Baoquan He <bhe@...hat.com> wrote:
> >
> >> CC more people ...
> >>
> >> On 03/07/15 at 01:31am, "Hatayama, Daisuke/畑山 大輔" wrote:
> >>> The commit f06e5153f4ae2e2f3b0300f0e260e40cb7fefd45 introduced
> >>> "crash_kexec_post_notifiers" kernel boot option, which toggles
> >>> wheather panic() calls crash_kexec() before panic_notifiers and dump
> >>> kmsg or after.
> >>>
> >>> The problem is that the commit overlooks panic_on_oops kernel boot
> >>> option. If it is enabled, crash_kexec() is called directly without
> >>> going through panic() in oops path.
> >>>
> >>> To fix this issue, this patch adds a check to
> >>> "crash_kexec_post_notifiers" in the condition of kexec_should_crash().
> >>>
> >>> Also, put a comment in kexec_should_crash() to explain not obvious
> >>> things on this patch.
> >>>
> >>> Signed-off-by: HATAYAMA Daisuke <d.hatayama@...fujitsu.com>
> >>> Acked-by: Baoquan He <bhe@...hat.com>
> >>> Tested-by: Hidehiro Kawai <hidehiro.kawai.ez@...achi.com>
> >>> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
> >>> ---
> >>> include/linux/kernel.h | 3 +++
> >>> kernel/kexec.c | 11 +++++++++++
> >>> kernel/panic.c | 2 +-
> >>> 3 files changed, 15 insertions(+), 1 deletion(-)
> >
> > This is hack upon hack, but why was this crap merged in the first
> > place?
> >
> > I see two problems just by cursory review:
> >
> > 1)
> >
> > Firstly, the real bug in:
> >
> > f06e5153f4ae ("kernel/panic.c: add "crash_kexec_post_notifiers" option for kdump after panic_notifers")
> >
> > Was that crash_kexec() was called unconditionally after notifiers were
> > called, which should be fixed via the simple patch below (untested).
> > Looks much simpler than your fix.
>
> No, Daisuke's patch is not for that case. [...]
Yet the actual bug is in that commit, 'crash_kexec_post_notifiers' was
clearly not a no-op in the default case, against expectations.
So the first step should be to restore the original behavior (my
patch), then should any new tweaks be added.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists