Re: Re: [PATCH v2] kernel/panic/kexec: fix "crash_kexec_post_notifiers" option issue in oops path

From: Vivek Goyal
Date: Tue Mar 24 2015 - 10:46:45 EST


On Tue, Mar 24, 2015 at 08:11:29AM +0100, Ingo Molnar wrote:
>
> * Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> wrote:
>
> > (2015/03/23 16:19), Ingo Molnar wrote:
> > >
> > > * Baoquan He <bhe@xxxxxxxxxx> 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@xxxxxxxxxxxxxx>
> > >>> Acked-by: Baoquan He <bhe@xxxxxxxxxx>
> > >>> Tested-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx>
> > >>> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
> > >>> ---
> > >>> 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.

Hi Ingo,

I did a quick test and in default case crash_kexec() runs before panic
notifiers. So it does look like crash_kexec_post_notifiers is a no-op
in default case.

What am I missing.

Thanks
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/