out: 
out: 
static int init_level4_page(struct kimage *image,	u64 *level4p, unsigned long addr, unsigned long last_addr){	unsigned long end_addr;	int result;	result = 0;	addr &= PAGE_MASK;	end_addr = addr + LEVEL4_SIZE;	while((addr < last_addr) && (addr < end_addr)) {		struct page *page;		u64 *level3p;		page = kimage_alloc_control_pages(image, 0);		if (!page) {			result = -ENOMEM;			goto out;		}		level3p = (u64 *)page_address(page);		result = init_level3_page(image, level3p, addr, last_addr);		if (result) {			goto out;		}		*(level4p++) = __pa(level3p) | L3_ATTR;		addr += LEVEL3_SIZE;	}	/* clear the unused entries */	while(addr < end_addr) {		*(level4p++) = 0;		addr += LEVEL3_SIZE;	} out:	return result;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/72414d3f1d22fc3e311b162fca95c430048d38ce/machine_kexec.c/clean/arch/x86_64/kernel/machine_kexec.c