From 50476c94cc9549ea9b421b3e2a5638ffe1a2e5a9 Mon Sep 17 00:00:00 2001 From: Julien Thierry Date: Wed, 28 Aug 2019 15:06:19 +0100 Subject: [PATCH] create-diff-object: Check ELF headers earlier There is no point inspecting through the symbols of the ELF files (original and patched) when the ELF headers do not meet requirements. Check ELF headers as soon as the files are mapped. Signed-off-by: Julien Thierry --- kpatch-build/create-diff-object.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c index a9848290a..53b954ba6 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c @@ -3412,16 +3412,16 @@ int main(int argc, char *argv[]) kelf_base = kpatch_elf_open(orig_obj); kelf_patched = kpatch_elf_open(patched_obj); + kpatch_compare_elf_headers(kelf_base->elf, kelf_patched->elf); + kpatch_check_program_headers(kelf_base->elf); + kpatch_check_program_headers(kelf_patched->elf); + kpatch_bundle_symbols(kelf_base); kpatch_bundle_symbols(kelf_patched); kpatch_detect_child_functions(kelf_base); kpatch_detect_child_functions(kelf_patched); - kpatch_compare_elf_headers(kelf_base->elf, kelf_patched->elf); - kpatch_check_program_headers(kelf_base->elf); - kpatch_check_program_headers(kelf_patched->elf); - list_for_each_entry(sym, &kelf_base->symbols, list) { if (sym->type == STT_FILE) { hint = strdup(sym->name);