Message ID | 20240903144154.17135-1-philmd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | hw/arm/boot: Explain why load_elf_hdr() error is ignored | expand |
On Tue, 3 Sept 2024 at 15:41, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > > 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> > --- Applied to target-arm.next, thanks. -- PMM
diff --git a/hw/arm/boot.c b/hw/arm/boot.c index d480a7da02..45d0c6b9f2 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) {
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> --- hw/arm/boot.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)