On 4/15/21 12:14 PM, Lakshmi Ramasubramanian wrote:

Sorry - missed copying device-tree and powerpc mailing lists.

There are a few "goto out;" statements before the local variable "fdt"
is initialized through the call to of_kexec_alloc_and_setup_fdt() in
elf64_load(). This will result in an uninitialized "fdt" being passed
to kvfree() in this function if there is an error before the call to
of_kexec_alloc_and_setup_fdt().

Initialize the local variable "fdt" to NULL.

Signed-off-by: Lakshmi Ramasubramanian <nra...@linux.microsoft.com>
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>
---
  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 5a569bb51349..0051440c1f77 100644
--- a/arch/powerpc/kexec/elf_64.c
+++ b/arch/powerpc/kexec/elf_64.c
@@ -32,7 +32,7 @@ static void *elf64_load(struct kimage *image, char 
*kernel_buf,
        int ret;
        unsigned long kernel_load_addr;
        unsigned long initrd_load_addr = 0, fdt_load_addr;
-       void *fdt;
+       void *fdt = NULL;
        const void *slave_code;
        struct elfhdr ehdr;
        char *modified_cmdline = NULL;


thanks,
 -lakshmi

Reply via email to