powerpc: If kexec_build_elf_info() fails return immediately from elf64_load()
authorLakshmi Ramasubramanian <nramas@linux.microsoft.com>
Wed, 21 Apr 2021 16:36:10 +0000 (09:36 -0700)
committerRob Herring <robh@kernel.org>
Mon, 26 Apr 2021 21:28:26 +0000 (16:28 -0500)
Uninitialized local variable "elf_info" would be passed to
kexec_free_elf_info() if kexec_build_elf_info() returns an error
in elf64_load().

If kexec_build_elf_info() returns an error, return the error
immediately.

Signed-off-by: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210421163610.23775-2-nramas@linux.microsoft.com
arch/powerpc/kexec/elf_64.c

index 02662e7..eeb2580 100644 (file)
@@ -45,7 +45,7 @@ static void *elf64_load(struct kimage *image, char *kernel_buf,
 
        ret = kexec_build_elf_info(kernel_buf, kernel_len, &ehdr, &elf_info);
        if (ret)
-               goto out;
+               return ERR_PTR(ret);
 
        if (image->type == KEXEC_TYPE_CRASH) {
                /* min & max buffer values for kdump case */