From cec5394e3c327d431cd482fd68ee5dde374bc470 Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Wed, 6 Nov 2024 17:50:24 +0100 Subject: [PATCH] create-diff-object: don't include symbols for .livepatch.hooks.* sections MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Not all toolchains generate symbols for the .livepatch.hooks.* sections, neither those symbols are required by the livepatch loading logic in Xen to find and process the hooks. Hooks in livepatch payloads are found and processed based exclusively on section data. The unconditional attempt to expect each hook serction to have a matching symbol leads to a segmentation fault in create-diff-object when such symbol is not present, as the code references a NULL pointer. Fix this by not attempting to include symbols associated with hook sections. Signed-off-by: Roger Pau Monné Reviewed-by: Ross Lagerwall --- create-diff-object.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/create-diff-object.c b/create-diff-object.c index d8a2afb..924059a 100644 --- a/create-diff-object.c +++ b/create-diff-object.c @@ -1555,8 +1555,6 @@ static int kpatch_include_hook_elements(struct kpatch_elf *kelf) sym->sec->sym = NULL; /* use section symbol instead */ rela->sym = sym->sec->secsym; - } else { - sec->secsym->include = 1; } } } -- 2.39.5