diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c index 1e06d1e..048b673 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c @@ -375,6 +375,13 @@ void kpatch_create_symbol_table(struct kpatch_elf *kelf) ERROR("couldn't find section for symbol %s\n", sym->name); + /* + * __ksymtab_strings is a special case where the + * compiler creates FUNC/OBJECT syms that refer + * to offsets inside the __ksymtab_strings section + * for kernel exported symbols. We want to ignore + * those. + */ if ((sym->type == STT_FUNC || sym->type == STT_OBJECT) && sym->sym.st_value == 0 &&