diff options
Diffstat (limited to 'arch/powerpc/kernel/kexec_elf_64.c')
| -rw-r--r-- | arch/powerpc/kernel/kexec_elf_64.c | 16 | 
1 files changed, 6 insertions, 10 deletions
| diff --git a/arch/powerpc/kernel/kexec_elf_64.c b/arch/powerpc/kernel/kexec_elf_64.c index ba4f18a43ee8..83cf7b852876 100644 --- a/arch/powerpc/kernel/kexec_elf_64.c +++ b/arch/powerpc/kernel/kexec_elf_64.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-only  /*   * Load ELF vmlinux file for the kexec_file_load syscall.   * @@ -10,15 +11,6 @@   * Based on kexec-tools' kexec-elf-exec.c and kexec-elf-ppc64.c.   * Heavily modified for the kernel by   * Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation (version 2 of the License). - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details.   */  #define pr_fmt(fmt)	"kexec_elf: " fmt @@ -547,6 +539,7 @@ static int elf_exec_load(struct kimage *image, struct elfhdr *ehdr,  		kbuf.memsz = phdr->p_memsz;  		kbuf.buf_align = phdr->p_align;  		kbuf.buf_min = phdr->p_paddr + base; +		kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;  		ret = kexec_add_buffer(&kbuf);  		if (ret)  			goto out; @@ -581,7 +574,8 @@ static void *elf64_load(struct kimage *image, char *kernel_buf,  	struct kexec_buf kbuf = { .image = image, .buf_min = 0,  				  .buf_max = ppc64_rma_size };  	struct kexec_buf pbuf = { .image = image, .buf_min = 0, -				  .buf_max = ppc64_rma_size, .top_down = true }; +				  .buf_max = ppc64_rma_size, .top_down = true, +				  .mem = KEXEC_BUF_MEM_UNKNOWN };  	ret = build_elf_exec_info(kernel_buf, kernel_len, &ehdr, &elf_info);  	if (ret) @@ -606,6 +600,7 @@ static void *elf64_load(struct kimage *image, char *kernel_buf,  		kbuf.bufsz = kbuf.memsz = initrd_len;  		kbuf.buf_align = PAGE_SIZE;  		kbuf.top_down = false; +		kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;  		ret = kexec_add_buffer(&kbuf);  		if (ret)  			goto out; @@ -638,6 +633,7 @@ static void *elf64_load(struct kimage *image, char *kernel_buf,  	kbuf.bufsz = kbuf.memsz = fdt_size;  	kbuf.buf_align = PAGE_SIZE;  	kbuf.top_down = true; +	kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;  	ret = kexec_add_buffer(&kbuf);  	if (ret)  		goto out; | 

