public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: "Américo Wang" <xiyou.wangcong@gmail.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
	kosaki.motohiro@jp.fujitsu.com,
	linux kernel mailing list <linux-kernel@vger.kernel.org>,
	Jarod Wilson <jwilson@redhat.com>,
	akpm@linux-foundation.org,
	Simon Kagstrom <simon.kagstrom@netinsight.net>,
	David Woodhouse <David.Woodhouse@intel.com>
Subject: Re: [Patch] kexec: remove KMSG_DUMP_KEXEC (was Re: Query about kdump_msg hook into crash_kexec())
Date: Tue, 1 Feb 2011 10:28:45 -0500	[thread overview]
Message-ID: <20110201152845.GB5363@redhat.com> (raw)
In-Reply-To: <20110201081313.GC21239@cr0.nay.redhat.com>

On Tue, Feb 01, 2011 at 04:13:13PM +0800, Américo Wang wrote:
> On Tue, Feb 01, 2011 at 03:38:53PM +0800, Américo Wang wrote:
> >On Mon, Jan 31, 2011 at 11:33:15PM -0800, Eric W. Biederman wrote:
> >>The issue is the inane call inside crash_kexec.
> >>
> >>It requires both a kexec kernel to be loaded and it requires you to be
> >>crashing.  Given that when I audited the kmsg_dump handlers they really
> >>weren't safe in a crash dump scenario we should just remove it.
> >>
> >
> >Probably, I think we need to get rid of KMSG_DUMP_KEXEC.
> >
> 
> Here we go.
> 
> --------->
> 
> KMSG_DUMP_KEXEC is useless because we already save kernel messages
> inside /proc/vmcore, and it is unsafe to allow modules to do
> other stuffs in a crash dump scenario.
> 

I think this is right thing to do. First of all kmsg_dump() call inside
crash_kexec() does not make any sense. Secondly, if kdump kernel is
loaded, we anyway are going to capture log buffers in vmcore and there
should not be any need to try to save messages twice.

Now one can argue that what if kdump does not capture the dump. I think
then right solution (though painful one) is to try to make kdump as
reliable as possible instead of trying to come up with backup mechanisms
to save logs in case kdump fails.

Acked-by: Vivek Goyal <vgoyal@redhat.com>

Thanks
Vivek

> Reported-by: Vivek Goyal <vgoyal@redhat.com>
> Cc: "Eric W. Biederman" <ebiederm@xmission.com>
> Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
> 
> 
> ---
> diff --git a/drivers/char/ramoops.c b/drivers/char/ramoops.c
> index 1a9f5f6..8653ba4 100644
> --- a/drivers/char/ramoops.c
> +++ b/drivers/char/ramoops.c
> @@ -69,8 +69,7 @@ static void ramoops_do_dump(struct kmsg_dumper *dumper,
>  	struct timeval timestamp;
>  
>  	if (reason != KMSG_DUMP_OOPS &&
> -	    reason != KMSG_DUMP_PANIC &&
> -	    reason != KMSG_DUMP_KEXEC)
> +	    reason != KMSG_DUMP_PANIC)
>  		return;
>  
>  	/* Only dump oopses if dump_oops is set */
> diff --git a/drivers/mtd/mtdoops.c b/drivers/mtd/mtdoops.c
> index e3e40f4..56eac4e 100644
> --- a/drivers/mtd/mtdoops.c
> +++ b/drivers/mtd/mtdoops.c
> @@ -308,8 +308,7 @@ static void mtdoops_do_dump(struct kmsg_dumper *dumper,
>  	char *dst;
>  
>  	if (reason != KMSG_DUMP_OOPS &&
> -	    reason != KMSG_DUMP_PANIC &&
> -	    reason != KMSG_DUMP_KEXEC)
> +	    reason != KMSG_DUMP_PANIC)
>  		return;
>  
>  	/* Only dump oopses if dump_oops is set */
> diff --git a/include/linux/kmsg_dump.h b/include/linux/kmsg_dump.h
> index 2a0d7d6..05fa2a9 100644
> --- a/include/linux/kmsg_dump.h
> +++ b/include/linux/kmsg_dump.h
> @@ -17,7 +17,6 @@
>  enum kmsg_dump_reason {
>  	KMSG_DUMP_OOPS,
>  	KMSG_DUMP_PANIC,
> -	KMSG_DUMP_KEXEC,
>  	KMSG_DUMP_RESTART,
>  	KMSG_DUMP_HALT,
>  	KMSG_DUMP_POWEROFF,
> diff --git a/kernel/kexec.c b/kernel/kexec.c
> index ec19b92..3ac0218 100644
> --- a/kernel/kexec.c
> +++ b/kernel/kexec.c
> @@ -32,7 +32,6 @@
>  #include <linux/console.h>
>  #include <linux/vmalloc.h>
>  #include <linux/swap.h>
> -#include <linux/kmsg_dump.h>
>  
>  #include <asm/page.h>
>  #include <asm/uaccess.h>
> @@ -1078,8 +1077,6 @@ void crash_kexec(struct pt_regs *regs)
>  		if (kexec_crash_image) {
>  			struct pt_regs fixed_regs;
>  
> -			kmsg_dump(KMSG_DUMP_KEXEC);
> -
>  			crash_setup_regs(&fixed_regs, regs);
>  			crash_save_vmcoreinfo();
>  			machine_crash_shutdown(&fixed_regs);

  reply	other threads:[~2011-02-01 15:29 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-31 22:59 Query about kdump_msg hook into crash_kexec() Vivek Goyal
2011-02-01  7:19 ` Américo Wang
2011-02-01  7:33   ` Eric W. Biederman
2011-02-01  7:38     ` Américo Wang
2011-02-01  8:13       ` [Patch] kexec: remove KMSG_DUMP_KEXEC (was Re: Query about kdump_msg hook into crash_kexec()) Américo Wang
2011-02-01 15:28         ` Vivek Goyal [this message]
2011-02-01 16:06           ` Jarod Wilson
2011-02-03  0:59         ` KOSAKI Motohiro
2011-02-03  2:07           ` Vivek Goyal
2011-02-03  4:53             ` KOSAKI Motohiro
2011-05-26 20:10               ` Andrew Morton
2011-05-28  1:43                 ` Eric W. Biederman
2011-05-30  7:30                   ` Américo Wang
2011-05-30  5:13                 ` KOSAKI Motohiro
2011-05-31 21:51                   ` Vivek Goyal
2011-06-09 11:00                     ` KOSAKI Motohiro
2011-06-14 22:13                       ` Vivek Goyal
2011-05-31 20:58                 ` Seiji Aguchi
2011-05-31 21:37                   ` Vivek Goyal
2011-05-31 22:24                     ` Seiji Aguchi
2011-06-02  3:26                       ` Eric W. Biederman
2011-06-08  0:00                         ` Andrew Morton
2011-06-09 11:15                         ` KOSAKI Motohiro
2011-02-03  0:55 ` Query about kdump_msg hook into crash_kexec() KOSAKI Motohiro
2011-02-03  2:05   ` Vivek Goyal
2011-02-03  4:52     ` KOSAKI Motohiro
2011-02-03  5:20       ` KOSAKI Motohiro
2011-02-04 15:00         ` Vivek Goyal
2011-03-08  1:31           ` KOSAKI Motohiro
2011-02-04 14:58       ` Vivek Goyal
2011-02-03 18:38     ` Seiji Aguchi
2011-02-03 21:13       ` Eric W. Biederman
2011-02-03 22:08         ` Seiji Aguchi
2011-02-04  2:24           ` Américo Wang
2011-02-04  2:50             ` Vivek Goyal
2011-02-04  3:28               ` Américo Wang
2011-02-04  6:40                 ` KOSAKI Motohiro
2011-02-08 16:46           ` Vivek Goyal
2011-02-08 17:35             ` Eric W. Biederman
2011-02-08 19:27               ` Vivek Goyal
2011-02-08 19:58                 ` Eric W. Biederman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110201152845.GB5363@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=David.Woodhouse@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=jwilson@redhat.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=simon.kagstrom@netinsight.net \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox