arm64: kexec: Fix missing error code 'ret' warning in load_other_segments()
authorLakshmi Ramasubramanian <nramas@linux.microsoft.com>
Fri, 10 Dec 2021 01:01:21 +0000 (17:01 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Dec 2021 08:32:45 +0000 (09:32 +0100)
commitecd8ad3af6d5f5bbbde97370ae4f885ab7ac47e3
tree445e3a4d54b455a8905d354c75e8f4d0c2e17c69
parent5473fe0c484a1a360d0f270a9faabfd4652f3fd5
arm64: kexec: Fix missing error code 'ret' warning in load_other_segments()

[ Upstream commit 9c5d89bc10551f1aecd768b00fca3339a7b8c8ee ]

Since commit ac10be5cdbfa ("arm64: Use common
of_kexec_alloc_and_setup_fdt()"), smatch reports the following warning:

  arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments()
  warn: missing error code 'ret'

Return code is not set to an error code in load_other_segments() when
of_kexec_alloc_and_setup_fdt() call returns a NULL dtb. This results
in status success (return code set to 0) being returned from
load_other_segments().

Set return code to -EINVAL if of_kexec_alloc_and_setup_fdt() returns
NULL dtb.

Signed-off-by: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: ac10be5cdbfa ("arm64: Use common of_kexec_alloc_and_setup_fdt()")
Link: https://lore.kernel.org/r/20211210010121.101823-1-nramas@linux.microsoft.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/kernel/machine_kexec_file.c