From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754925AbcGEMNa (ORCPT ); Tue, 5 Jul 2016 08:13:30 -0400 Received: from fallback.hitachi.co.jp ([133.145.228.49]:60922 "EHLO mailx.hitachi.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751544AbcGEMN0 (ORCPT ); Tue, 5 Jul 2016 08:13:26 -0400 Subject: [V3 PATCH 2/2] kexec: Use core_param for crash_kexec_post_notifiers boot option To: Andrew Morton , Dave Young , "Eric W. Biederman" , Baoquan He From: Hidehiro Kawai Cc: Petr Mladek , Michal Hocko , Josh Poimboeuf , x86@kernel.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, Vitaly Kuznetsov , HATAYAMA Daisuke , Masami Hiramatsu , "H. Peter Anvin" , Tejun Heo , Daniel Walker , Thomas Gleixner , Borislav Petkov , Ingo Molnar , Vivek Goyal Date: Tue, 05 Jul 2016 20:33:27 +0900 Message-ID: <20160705113327.5864.43139.stgit@softrs> In-Reply-To: <20160705113323.5864.66834.stgit@softrs> References: <20160705113323.5864.66834.stgit@softrs> User-Agent: StGit/0.16 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org crash_kexec_post_notifiers ia a boot option which controls whether the 1st kernel calls panic notifiers or not before booting the 2nd kernel. However, there is no need to limit it to being modifiable only at boot time. So, use core_param instead of early_param. Signed-off-by: Hidehiro Kawai Cc: Dave Young Cc: Baoquan He Cc: Vivek Goyal Cc: Eric Biederman Cc: Masami Hiramatsu Cc: Andrew Morton Cc: Borislav Petkov Cc: Thomas Gleixner Cc: Michal Hocko Cc: Vitaly Kuznetsov Cc: Petr Mladek Cc: Tejun Heo Cc: Josh Poimboeuf --- kernel/panic.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/kernel/panic.c b/kernel/panic.c index da8062d2..0d0edeb 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -134,6 +134,7 @@ void panic(const char *fmt, ...) long i, i_next = 0; int state = 0; int old_cpu, this_cpu; + bool _crash_kexec_post_notifiers = crash_kexec_post_notifiers; /* * Disable local interrupts. This will prevent panic_smp_self_stop @@ -186,7 +187,7 @@ void panic(const char *fmt, ...) * * Bypass the panic_cpu check and call __crash_kexec directly. */ - if (!crash_kexec_post_notifiers) { + if (!_crash_kexec_post_notifiers) { printk_nmi_flush_on_panic(); __crash_kexec(NULL); } @@ -212,7 +213,7 @@ void panic(const char *fmt, ...) * * Bypass the panic_cpu check and call __crash_kexec directly. */ - if (crash_kexec_post_notifiers) + if (_crash_kexec_post_notifiers) __crash_kexec(NULL); bust_spinlocks(0); @@ -592,13 +593,7 @@ EXPORT_SYMBOL(__stack_chk_fail); core_param(panic, panic_timeout, int, 0644); core_param(pause_on_oops, pause_on_oops, int, 0644); core_param(panic_on_warn, panic_on_warn, int, 0644); - -static int __init setup_crash_kexec_post_notifiers(char *s) -{ - crash_kexec_post_notifiers = true; - return 0; -} -early_param("crash_kexec_post_notifiers", setup_crash_kexec_post_notifiers); +core_param(crash_kexec_post_notifiers, crash_kexec_post_notifiers, bool, 0644); static int __init oops_setup(char *s) {