From: Michael Holzheu <holzheu@linux.vnet.ibm.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>,
Jan Willeke <willeke@de.ibm.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
linux-kernel@vger.kernel.org, kexec@lists.infradead.org
Subject: Re: [PATCH v5 1/5] vmcore: Introduce ELF header in new memory feature
Date: Fri, 28 Jun 2013 10:15:52 +0200 [thread overview]
Message-ID: <20130628101552.68aab404@holzheu> (raw)
In-Reply-To: <20130627202334.GL4899@redhat.com>
On Thu, 27 Jun 2013 16:23:34 -0400
Vivek Goyal <vgoyal@redhat.com> wrote:
> On Thu, Jun 27, 2013 at 03:32:02PM -0400, Vivek Goyal wrote:
> > On Fri, Jun 21, 2013 at 04:17:03PM +0200, Michael Holzheu wrote:
> > > On Fri, 14 Jun 2013 14:54:02 -0400
> > > Vivek Goyal <vgoyal@redhat.com> wrote:
[snip]
> Thinking more about it, I think let us cleanup with this little ugly
> bit too so that future changes become easy.
>
> Current convention is that elfcorehdr_addr and elfcorehdr_size are
> already set by arch code by the time vmcore.c starts reading it. Can't
> s390 allocate elf headers in early boot code and elfcorehdr_addr? Then
> we don't have to call elfcorehdr_alloc().
>
> And once we are done with reading headers, we can call elfcorehdr_free()
> and s390 could free memory and set elfcorehdr_addr to ELFCORE_ADDR_ERR
> and elfcorehdr_size=0. That would signify that one can not try to read
> elf headers now and it must have been freed.
>
> is_kdump_kernel() will continue to work as elfcorehdr_addr is
> ELFCORE_ADDR_ERR. And that will mean that either elfcorehdr were not
> readable/usable to begin with or they have been freed now.
Hello Vivek,
We would like to keep the alloc/free symmetry as you have suggested in a
previous mail. This also has the advantage that we do not have to rely
on the ordering of init calls.
Wouldn't it be sufficient to just set elfcorehdr_addr to ELFCORE_ADDR_ERR
after elfcorehdr_free() and remove the comment?
So the code would look like the following:
static int __init vmcore_init(void)
{
int rc = 0;
/* Allow architectures to allocate ELF header in 2nd kernel */
rc = elfcorehdr_alloc(&elfcorehdr_addr, &elfcorehdr_size);
if (rc)
return rc;
/*
* If elfcorehdr= has been passed in cmdline or created in 2nd kernel,
* then capture the dump.
*/
if (!(is_vmcore_usable()))
return rc;
rc = parse_crash_elf_headers();
if (rc) {
pr_warn("Kdump: vmcore not initialized\n");
return rc;
}
elfcorehdr_free(elfcorehdr_addr);
elfcorehdr_addr = ELFCORE_ADDR_ERR;
proc_vmcore = proc_create("vmcore", S_IRUSR, NULL, &proc_vmcore_operations);
if (proc_vmcore)
proc_vmcore->size = vmcore_size;
return 0;
}
This looks clean for me.
What do you think?
Best Regards,
Michael
next prev parent reply other threads:[~2013-06-28 8:16 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-07 16:55 [PATCH v5 0/5] kdump: Allow ELF header creation in new kernel Michael Holzheu
2013-06-07 16:55 ` [PATCH v5 1/5] vmcore: Introduce ELF header in new memory feature Michael Holzheu
2013-06-10 13:35 ` HATAYAMA Daisuke
2013-06-10 13:53 ` Michael Holzheu
2013-06-14 18:54 ` Vivek Goyal
2013-06-21 14:17 ` Michael Holzheu
2013-06-27 19:32 ` Vivek Goyal
2013-06-27 20:10 ` Cliff Wickman
2013-06-27 20:23 ` Vivek Goyal
2013-06-28 8:15 ` Michael Holzheu [this message]
2013-07-01 17:37 ` Vivek Goyal
2013-07-01 18:29 ` Michael Holzheu
2013-06-07 16:55 ` [PATCH v5 2/5] s390/vmcore: Use " Michael Holzheu
2013-06-10 13:36 ` HATAYAMA Daisuke
2013-06-10 13:48 ` Michael Holzheu
2013-06-14 19:16 ` Vivek Goyal
2013-06-07 16:55 ` [PATCH v5 3/5] vmcore: Introduce remap_oldmem_pfn_range() Michael Holzheu
[not found] ` <CAJGZr0+_W0dp2f9VtVAiUT2fqiwe91gHXd9zYzfMMzBZSZogww@mail.gmail.com>
2013-06-10 8:00 ` Michael Holzheu
2013-06-10 13:40 ` HATAYAMA Daisuke
2013-06-10 14:03 ` Michael Holzheu
2013-06-10 15:37 ` Michael Holzheu
2013-06-11 12:42 ` HATAYAMA Daisuke
2013-06-12 9:13 ` Michael Holzheu
2013-06-13 1:32 ` HATAYAMA Daisuke
2013-06-13 8:54 ` Michael Holzheu
2013-06-13 4:00 ` HATAYAMA Daisuke
2013-06-11 13:20 ` HATAYAMA Daisuke
2013-06-07 16:56 ` [PATCH v5 4/5] s390/vmcore: Implement remap_oldmem_pfn_range for s390 Michael Holzheu
2013-06-14 20:08 ` Vivek Goyal
2013-06-07 16:56 ` [PATCH v5 5/5] s390/vmcore: Use vmcore for zfcpdump Michael Holzheu
2013-06-11 23:47 ` HATAYAMA Daisuke
2013-06-12 9:14 ` Michael Holzheu
2013-06-14 18:54 ` [PATCH v5 0/5] kdump: Allow ELF header creation in new kernel Vivek Goyal
2013-06-21 13:39 ` Michael Holzheu
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=20130628101552.68aab404@holzheu \
--to=holzheu@linux.vnet.ibm.com \
--cc=d.hatayama@jp.fujitsu.com \
--cc=heiko.carstens@de.ibm.com \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=schwidefsky@de.ibm.com \
--cc=vgoyal@redhat.com \
--cc=willeke@de.ibm.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