kdump, ia64: always reserve elfcore header memory in crash kernel

Vivek Goyal vgoyal at redhat.com
Tue Aug 5 08:56:34 EDT 2008


On Tue, Aug 05, 2008 at 07:48:27PM +1000, Simon Horman wrote:
> elfcore header memory needs to be reserved in a crash kernel.
> This means that the relevant code should be protected
> by CONFIG_CRASH_DUMP rather than CONFIG_PROC_VMCORE.
> 
> Signed-off-by: Simon Horman <horms at verge.net.au>
> 
> --- 
> Andrew, this patch fixes bug in the (unlikely) case where
> an ia64 crashdump kernel does not have CONFIG_PROC_FS set.
> I think it is worth including in 2.6.27. But breakage cases are
> likely to be minimal to non-existent, so I am comfortable
> with post 2.6.27 too.
> 
> This patch should be appended to the series,
> "is_kdump_kernel() cleanup and related patches".
> 
> http://lists.infradead.org/pipermail/kexec/2008-July/002270.html
> 
> Index: linux-2.6/arch/ia64/kernel/efi.c
> ===================================================================
> --- linux-2.6.orig/arch/ia64/kernel/efi.c	2008-08-05 18:31:13.000000000 +1000
> +++ linux-2.6/arch/ia64/kernel/efi.c	2008-08-05 18:31:21.000000000 +1000
> @@ -1334,7 +1334,7 @@ kdump_find_rsvd_region (unsigned long si
>  }
>  #endif
>  
> -#ifdef CONFIG_PROC_VMCORE
> +#ifdef CONFIG_CRASH_DUMP
>  /* locate the size find a the descriptor at a certain address */
>  unsigned long __init
>  vmcore_find_descriptor_size (unsigned long address)
> Index: linux-2.6/arch/ia64/kernel/setup.c
> ===================================================================
> --- linux-2.6.orig/arch/ia64/kernel/setup.c	2008-08-05 18:31:20.000000000 +1000
> +++ linux-2.6/arch/ia64/kernel/setup.c	2008-08-05 18:31:21.000000000 +1000
> @@ -352,7 +352,7 @@ reserve_memory (void)
>  	}
>  #endif
>  
> -#ifdef CONFIG_PROC_VMCORE
> +#ifdef CONFIG_CRASH_KERNEL
>  	if (reserve_elfcorehdr(&rsvd_region[n].start,
>  			       &rsvd_region[n].end) == 0)
>  		n++;

Hi Simon,

Thanks for the patch. One minor nit. I think compilation will fail
in the case of CONFIG_PROC_VMCORE=n. Because reserve_elfcorehdr will
try to use vmcore_unusabe() which is not available now?

Thanks
Vivek



More information about the kexec mailing list