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 <wipa...@amazon.de> Reviewed-by: Martin Mazein <amaz...@amazon.de> Reviewed-by: Martin Pohlack <mpohl...@amazon.de> CR: https://code.amazon.com/reviews/CR-7368634 --- create-diff-object.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/create-diff-object.c b/create-diff-object.c index 82f777e..af2245c 100644 --- a/create-diff-object.c +++ b/create-diff-object.c @@ -1744,6 +1744,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; -- 2.16.5 Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrer: Christian Schlaeger, Ralf Herbrich Ust-ID: DE 289 237 879 Eingetragen am Amtsgericht Charlottenburg HRB 149173 B _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel