Re: [PATCH 2/2] powerpc: If kexec_build_elf_info() fails return immediately from elf64_load()
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()
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