From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-we0-x235.google.com ([2a00:1450:400c:c03::235]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1YaJ0F-0001zt-P5 for kexec@lists.infradead.org; Tue, 24 Mar 2015 07:11:56 +0000 Received: by weoy45 with SMTP id y45so6168403weo.2 for ; Tue, 24 Mar 2015 00:11:33 -0700 (PDT) Date: Tue, 24 Mar 2015 08:11:29 +0100 From: Ingo Molnar 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-Disposition: inline In-Reply-To: <5510DA42.6040708@hitachi.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Masami Hiramatsu Cc: Baoquan He , kexec@lists.infradead.org, linux-kernel@vger.kernel.org, =?utf-8?B?IkhhdGF5YW1hLCBEYWlzdWtlL+eVkeWxsSDlpKfovJQi?= , mingo@redhat.com, ebiederm@xmission.com, hidehiro.kawai.ez@hitachi.com, akpm@linux-foundation.org, bp@suse.de, Vivek Goyal CiogTWFzYW1pIEhpcmFtYXRzdSA8bWFzYW1pLmhpcmFtYXRzdS5wdEBoaXRhY2hpLmNvbT4gd3Jv dGU6Cgo+ICgyMDE1LzAzLzIzIDE2OjE5KSwgSW5nbyBNb2xuYXIgd3JvdGU6Cj4gPiAKPiA+ICog QmFvcXVhbiBIZSA8YmhlQHJlZGhhdC5jb20+IHdyb3RlOgo+ID4gCj4gPj4gQ0MgbW9yZSBwZW9w bGUgLi4uCj4gPj4KPiA+PiBPbiAwMy8wNy8xNSBhdCAwMTozMWFtLCAiSGF0YXlhbWEsIERhaXN1 a2Uv55WR5bGxIOWkp+i8lCIgd3JvdGU6Cj4gPj4+IFRoZSBjb21taXQgZjA2ZTUxNTNmNGFlMmUy ZjNiMDMwMGYwZTI2MGU0MGNiN2ZlZmQ0NSBpbnRyb2R1Y2VkCj4gPj4+ICJjcmFzaF9rZXhlY19w b3N0X25vdGlmaWVycyIga2VybmVsIGJvb3Qgb3B0aW9uLCB3aGljaCB0b2dnbGVzCj4gPj4+IHdo ZWF0aGVyIHBhbmljKCkgY2FsbHMgY3Jhc2hfa2V4ZWMoKSBiZWZvcmUgcGFuaWNfbm90aWZpZXJz IGFuZCBkdW1wCj4gPj4+IGttc2cgb3IgYWZ0ZXIuCj4gPj4+Cj4gPj4+IFRoZSBwcm9ibGVtIGlz IHRoYXQgdGhlIGNvbW1pdCBvdmVybG9va3MgcGFuaWNfb25fb29wcyBrZXJuZWwgYm9vdAo+ID4+ PiBvcHRpb24uIElmIGl0IGlzIGVuYWJsZWQsIGNyYXNoX2tleGVjKCkgaXMgY2FsbGVkIGRpcmVj dGx5IHdpdGhvdXQKPiA+Pj4gZ29pbmcgdGhyb3VnaCBwYW5pYygpIGluIG9vcHMgcGF0aC4KPiA+ Pj4KPiA+Pj4gVG8gZml4IHRoaXMgaXNzdWUsIHRoaXMgcGF0Y2ggYWRkcyBhIGNoZWNrIHRvCj4g Pj4+ICJjcmFzaF9rZXhlY19wb3N0X25vdGlmaWVycyIgaW4gdGhlIGNvbmRpdGlvbiBvZiBrZXhl Y19zaG91bGRfY3Jhc2goKS4KPiA+Pj4KPiA+Pj4gQWxzbywgcHV0IGEgY29tbWVudCBpbiBrZXhl Y19zaG91bGRfY3Jhc2goKSB0byBleHBsYWluIG5vdCBvYnZpb3VzCj4gPj4+IHRoaW5ncyBvbiB0 aGlzIHBhdGNoLgo+ID4+Pgo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBIQVRBWUFNQSBEYWlzdWtlIDxk LmhhdGF5YW1hQGpwLmZ1aml0c3UuY29tPgo+ID4+PiBBY2tlZC1ieTogQmFvcXVhbiBIZSA8Ymhl QHJlZGhhdC5jb20+Cj4gPj4+IFRlc3RlZC1ieTogSGlkZWhpcm8gS2F3YWkgPGhpZGVoaXJvLmth d2FpLmV6QGhpdGFjaGkuY29tPgo+ID4+PiBSZXZpZXdlZC1ieTogTWFzYW1pIEhpcmFtYXRzdSA8 bWFzYW1pLmhpcmFtYXRzdS5wdEBoaXRhY2hpLmNvbT4KPiA+Pj4gLS0tCj4gPj4+ICBpbmNsdWRl L2xpbnV4L2tlcm5lbC5oIHwgIDMgKysrCj4gPj4+ICBrZXJuZWwva2V4ZWMuYyAgICAgICAgIHwg MTEgKysrKysrKysrKysKPiA+Pj4gIGtlcm5lbC9wYW5pYy5jICAgICAgICAgfCAgMiArLQo+ID4+ PiAgMyBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPiAK PiA+IFRoaXMgaXMgaGFjayB1cG9uIGhhY2ssIGJ1dCB3aHkgd2FzIHRoaXMgY3JhcCBtZXJnZWQg aW4gdGhlIGZpcnN0IAo+ID4gcGxhY2U/Cj4gPiAKPiA+IEkgc2VlIHR3byBwcm9ibGVtcyBqdXN0 IGJ5IGN1cnNvcnkgcmV2aWV3Ogo+ID4gCj4gPiAxKQo+ID4gCj4gPiBGaXJzdGx5LCB0aGUgcmVh bCBidWcgaW46Cj4gPiAKPiA+ICAgZjA2ZTUxNTNmNGFlICgia2VybmVsL3BhbmljLmM6IGFkZCAi Y3Jhc2hfa2V4ZWNfcG9zdF9ub3RpZmllcnMiIG9wdGlvbiBmb3Iga2R1bXAgYWZ0ZXIgcGFuaWNf bm90aWZlcnMiKQo+ID4gCj4gPiBXYXMgdGhhdCBjcmFzaF9rZXhlYygpIHdhcyBjYWxsZWQgdW5j b25kaXRpb25hbGx5IGFmdGVyIG5vdGlmaWVycyB3ZXJlIAo+ID4gY2FsbGVkLCB3aGljaCBzaG91 bGQgYmUgZml4ZWQgdmlhIHRoZSBzaW1wbGUgcGF0Y2ggYmVsb3cgKHVudGVzdGVkKS4gCj4gPiBM b29rcyBtdWNoIHNpbXBsZXIgdGhhbiB5b3VyIGZpeC4KPiAKPiBObywgRGFpc3VrZSdzIHBhdGNo IGlzIG5vdCBmb3IgdGhhdCBjYXNlLiBbLi4uXQoKWWV0IHRoZSBhY3R1YWwgYnVnIGlzIGluIHRo YXQgY29tbWl0LCAnY3Jhc2hfa2V4ZWNfcG9zdF9ub3RpZmllcnMnIHdhcyAKY2xlYXJseSBub3Qg YSBuby1vcCBpbiB0aGUgZGVmYXVsdCBjYXNlLCBhZ2FpbnN0IGV4cGVjdGF0aW9ucy4KClNvIHRo ZSBmaXJzdCBzdGVwIHNob3VsZCBiZSB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBiZWhhdmlvciAo bXkgCnBhdGNoKSwgdGhlbiBzaG91bGQgYW55IG5ldyB0d2Vha3MgYmUgYWRkZWQuCgpUaGFua3Ms CgoJSW5nbwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K a2V4ZWMgbWFpbGluZyBsaXN0CmtleGVjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXhlYwo= 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