Re: [PATCH 2/2] powerpc: If kexec_build_elf_info() fails return immediately from elf64_load()

2021-04-21 Thread Michael Ellerman
Lakshmi Ramasubramanian  writes:

> 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 
> Reported-by: Dan Carpenter 

Reviewed-by: Michael Ellerman 

cheers

> 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, , _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


[PATCH 2/2] powerpc: If kexec_build_elf_info() fails return immediately from elf64_load()

2021-04-20 Thread Lakshmi Ramasubramanian
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 
Reported-by: Dan Carpenter 
---
 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, , _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