From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753585AbbCXHLl (ORCPT ); Tue, 24 Mar 2015 03:11:41 -0400 Received: from mail-we0-f178.google.com ([74.125.82.178]:33037 "EHLO mail-we0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751602AbbCXHLf (ORCPT ); Tue, 24 Mar 2015 03:11:35 -0400 Date: Tue, 24 Mar 2015 08:11:29 +0100 From: Ingo Molnar To: Masami Hiramatsu Cc: Baoquan He , =?utf-8?B?IkhhdGF5YW1hLCBEYWlzdWtlL+eVkeWxsSDlpKfovJQi?= , ebiederm@xmission.com, Vivek Goyal , hidehiro.kawai.ez@hitachi.com, linux-kernel@vger.kernel.org, kexec@lists.infradead.org, akpm@linux-foundation.org, mingo@redhat.com, bp@suse.de Subject: Re: Re: [PATCH v2] kernel/panic/kexec: fix "crash_kexec_post_notifiers" option issue in oops path Message-ID: <20150324071129.GA28619@gmail.com> References: <54F9D645.2050008@jp.fujitsu.com> <20150323034752.GD2068@dhcp-16-105.nay.redhat.com> <20150323071943.GA22765@gmail.com> <5510DA42.6040708@hitachi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5510DA42.6040708@hitachi.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Masami Hiramatsu wrote: > (2015/03/23 16:19), Ingo Molnar wrote: > > > > * Baoquan He 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 > >>> Acked-by: Baoquan He > >>> Tested-by: Hidehiro Kawai > >>> Reviewed-by: Masami Hiramatsu > >>> --- > >>> 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