vmcore_find_descriptor_size() is only called by reserve_elfcorehdr(), which is in __init, so it seems to me that vmcore_find_descriptor_size() should be there too. Signed-off-by: Simon Horman <horms at verge.net.au> Index: linux-2.6/arch/ia64/kernel/efi.c =================================================================== --- linux-2.6.orig/arch/ia64/kernel/efi.c 2007-03-06 16:43:11.000000000 +0900 +++ linux-2.6/arch/ia64/kernel/efi.c 2007-03-06 16:43:25.000000000 +0900 @@ -1180,7 +1180,7 @@ #ifdef CONFIG_PROC_VMCORE /* locate the size find a the descriptor at a certain address */ -unsigned long +unsigned long __init vmcore_find_descriptor_size (unsigned long address) { void *efi_map_start, *efi_map_end, *p;