]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: Free fdt on error in elf64_load()
authorLakshmi Ramasubramanian <nramas@linux.microsoft.com>
Wed, 21 Apr 2021 16:36:09 +0000 (09:36 -0700)
committerRob Herring <robh@kernel.org>
Mon, 26 Apr 2021 21:27:51 +0000 (16:27 -0500)
commitfee0734a82444bed294ca08e03a3a0ae3721c9b5
treef0d31d5b093ceeff797909b6e35b3bb18c3f4502
parent8a2372b284e9e4d3183002d1e65a1ac1c42b6def
powerpc: Free fdt on error in elf64_load()

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().

If there is any error after fdt is allocated, but before it is
saved in the arch specific kimage struct, free the fdt.

Fixes: 630b2abbfc47 ("powerpc: Use common of_kexec_alloc_and_setup_fdt()")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210421163610.23775-1-nramas@linux.microsoft.com
arch/powerpc/kexec/elf_64.c