]> 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)
commit011429c498debe0ca9506bfe889d2dc57626438f
treef0d31d5b093ceeff797909b6e35b3bb18c3f4502
parentee2ca7df294642b023f539ea068b3e9b27ff0861
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: dbe78685512e ("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