From: Pawel Wieczorkiewicz Date: Tue, 26 Nov 2019 12:25:08 +0000 (+0000) Subject: create-diff-object: Add support for applied/reverted marker X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=615a7786d1d2cc008d6097ee583f822395254965;p=livepatch-build-tools.git create-diff-object: Add support for applied/reverted marker With version 2 of a payload structure additional field is supported to track whether given function has been applied or reverted. There also comes additional 8-byte alignment padding to reserve place for future flags and options. The new fields are zero-out upon .livepatch.funcs section creation. Signed-off-by: Pawel Wieczorkiewicz Reviewed-by: Ross Lagerwall Signed-off-by: Ross Lagerwall --- diff --git a/common.h b/common.h index 2122b93..7a66203 100644 --- a/common.h +++ b/common.h @@ -124,6 +124,8 @@ struct livepatch_patch_func { uint32_t old_size; uint8_t version; unsigned char pad[31]; + uint8_t applied; + uint8_t _pad[7]; }; struct special_section { diff --git a/create-diff-object.c b/create-diff-object.c index bebfc46..e54821c 100644 --- a/create-diff-object.c +++ b/create-diff-object.c @@ -2026,8 +2026,10 @@ static void livepatch_create_patches_sections(struct kpatch_elf *kelf, funcs[index].old_size = result.size; funcs[index].new_addr = 0; funcs[index].new_size = sym->sym.st_size; - funcs[index].version = 1; + funcs[index].version = 2; memset(funcs[index].pad, 0, sizeof funcs[index].pad); + funcs[index].applied = 0; + memset(funcs[index]._pad, 0, sizeof funcs[index]._pad); /* * Add a relocation that will populate