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 <nra...@linux.microsoft.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>
Reviewed-by: Michael Ellerman <m...@ellerman.id.au>
---
 arch/powerpc/kexec/elf_64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/kexec/elf_64.c b/arch/powerpc/kexec/elf_64.c
index 02662e72c53d..eeb258002d1e 100644
--- a/arch/powerpc/kexec/elf_64.c
+++ b/arch/powerpc/kexec/elf_64.c
@@ -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 */
-- 
2.31.0

Reply via email to