From: Philippe Mathieu-Daudé Date: Tue, 3 Sep 2024 14:41:54 +0000 (+0200) Subject: hw/arm/boot: Explain why load_elf_hdr() error is ignored X-Git-Tag: v9.2.0-rc0~100^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=17e93dd5faaf3ba8a1df099cc9396e4943baa892;p=thirdparty%2Fqemu.git 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é Message-id: 20240903144154.17135-1-philmd@linaro.org Signed-off-by: Peter Maydell Reviewed-by: Peter Maydell --- diff --git a/hw/arm/boot.c b/hw/arm/boot.c index 6c895e05cbc..5301d8d318c 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) {