From: Pawel Wieczorkiewicz Date: Wed, 21 Aug 2019 08:20:47 +0000 (+0000) Subject: create-diff-object: Do not create empty .livepatch.funcs section X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=14841665c588301f62f36a5a2b95f727d06147fa;p=livepatch-build-tools.git create-diff-object: Do not create empty .livepatch.funcs section When there is no changed function in the generated payload, do not create an empty .livepatch.funcs section. Hypervisor code considers such payloads as broken and rejects to load them. Such payloads without any changed functions may appear when only hooks are specified. Signed-off-by: Pawel Wieczorkiewicz Reviewed-by: Martin Mazein Reviewed-by: Martin Pohlack Reviewed-by: Ross Lagerwall Signed-off-by: Ross Lagerwall --- diff --git a/create-diff-object.c b/create-diff-object.c index a90cf37..4e0f3be 100644 --- a/create-diff-object.c +++ b/create-diff-object.c @@ -1843,6 +1843,11 @@ static void livepatch_create_patches_sections(struct kpatch_elf *kelf, if (sym->type == STT_FUNC && sym->status == CHANGED) nr++; + if (nr == 0) { + log_debug("No changed functions found. Skipping .livepatch.funcs section creation\n"); + return; + } + /* create text/rela section pair */ sec = create_section_pair(kelf, ".livepatch.funcs", sizeof(*funcs), nr); relasec = sec->rela;