diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2024-09-03 16:41:54 +0200 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2024-09-05 13:12:37 +0100 |
commit | 17e93dd5faaf3ba8a1df099cc9396e4943baa892 (patch) | |
tree | 79caedd7fc8c9bbc5ecbf55f15fdc437c0cb14fc | |
parent | 2b490f150af4beee10250c8cb0da8a5b66b308e7 (diff) | |
download | qemu-17e93dd5faaf3ba8a1df099cc9396e4943baa892.zip qemu-17e93dd5faaf3ba8a1df099cc9396e4943baa892.tar.gz qemu-17e93dd5faaf3ba8a1df099cc9396e4943baa892.tar.bz2 |
hw/arm/boot: Explain why load_elf_hdr() error is ignored
If the file is not an ELF file, arm_setup_direct_kernel_boot()
falls back to try it as a uimage or an AArch64 Image file or as
last resort a bare raw binary. We can discard load_elf_hdr()
error and silently return.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240903144154.17135-1-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | hw/arm/boot.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/hw/arm/boot.c b/hw/arm/boot.c index 6c895e0..5301d8d 100644 --- a/hw/arm/boot.c +++ b/hw/arm/boot.c @@ -799,14 +799,18 @@ static ssize_t arm_load_elf(struct arm_boot_info *info, uint64_t *pentry, } elf_header; int data_swab = 0; bool big_endian; - ssize_t ret = -1; + ssize_t ret; Error *err = NULL; load_elf_hdr(info->kernel_filename, &elf_header, &elf_is64, &err); if (err) { + /* + * If the file is not an ELF file we silently return. + * The caller will fall back to try other formats. + */ error_free(err); - return ret; + return -1; } if (elf_is64) { |