[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [livepatch-build-tools part2 3/6] create-diff-object: Add is_special_section() helper function
> On 29. Apr 2019, at 17:25, Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> wrote: > > On 4/16/19 1:07 PM, Pawel Wieczorkiewicz wrote: >> This function determines, based on the given section name, if the >> sections belongs to the special sections category. >> It treats a name from the special_sections array as a prefix. Any >> sections whose name starts with special section prefix is considered >> a special section. >> Signed-off-by: Pawel Wieczorkiewicz <wipawel@xxxxxxxxx> >> Reviewed-by: Andra-Irina Paraschiv <andraprs@xxxxxxxxxx> >> Reviewed-by: Bjoern Doebel <doebel@xxxxxxxxx> >> Reviewed-by: Norbert Manthey <nmanthey@xxxxxxxxx> >> --- >> common.c | 23 +++++++++++++++++++++++ >> common.h | 1 + >> 2 files changed, 24 insertions(+) >> diff --git a/common.c b/common.c >> index c968299..a2c860b 100644 >> --- a/common.c >> +++ b/common.c >> @@ -290,6 +290,29 @@ int is_referenced_section(const struct section *sec, >> const struct kpatch_elf *ke >> return false; >> } >> +int is_special_section(struct section *sec) > > const for the parameter? ACK. Will add. > >> +{ >> + static struct special_section_names { >> + const char *name; >> + } names[] = { >> + { .name = ".bug_frames" }, >> + { .name = ".fixup" }, >> + { .name = ".ex_table" }, >> + { .name = ".altinstructions" }, >> + { .name = ".altinstr_replacement" }, >> + { .name = ".livepatch.hooks" }, >> + { .name = NULL }, >> + }; >> + struct special_section_names *special; > > Wouldn't it be better to reuse the existing special_sections array rather > than partially duplicating it here? After looking at this code again, I think you’re right and it would be better. It would require to explicitly call out all sections to be considered special in the special_sections array, but this is actually what I need for further changes anyway. ACK. Will fix. > >> + >> + for (special = names; special->name; special++) { >> + if (!strncmp(sec->name, special->name, strlen(special->name))) >> + return true; > > This check is not as precise as it could be, since ".altinstructionsfoo" > would be considered special when it actually means nothing to this tool. Given the above reasoning, that’s right. ACK. Will fix. > > -- > Ross Lagerwall Best Regards, Pawel Wieczorkiewicz 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@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |