Skip to content

Commit d5888f2

Browse files
t-msnswine
authored andcommitted
create-diff-object: keep ubsan section
If CONFIG_UBSAN is enabled, ubsan section (.data..Lubsan_{data,type}) can be created. Keep them unconditionally. NOTE: This patch needs to be verified. Signed-off-by: Misono Tomohiro <[email protected]>
1 parent d01cbc2 commit d5888f2

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

kpatch-build/create-diff-object.c

+4-1
Original file line numberDiff line numberDiff line change
@@ -1688,6 +1688,7 @@ static void kpatch_replace_sections_syms(struct kpatch_elf *kelf)
16881688
!strcmp(rela->sym->name, ".fixup") ||
16891689
!strcmp(rela->sym->name, ".altinstr_replacement") ||
16901690
!strcmp(rela->sym->name, ".altinstr_aux") ||
1691+
!strncmp(rela->sym->name, ".data..Lubsan", 13) ||
16911692
!strcmp(rela->sym->name, ".text..refcount"))
16921693
continue;
16931694

@@ -1851,7 +1852,8 @@ static void kpatch_verify_patchability(struct kpatch_elf *kelf)
18511852
(!strncmp(sec->name, ".data", 5) ||
18521853
!strncmp(sec->name, ".bss", 4)) &&
18531854
!is_data_once_section(sec->name) &&
1854-
!is_data_unlikely_section(sec->name)) {
1855+
!is_data_unlikely_section(sec->name) &&
1856+
strncmp(sec->name, ".data..Lubsan", 13)) {
18551857
log_normal("data section %s selected for inclusion\n",
18561858
sec->name);
18571859
errs++;
@@ -1947,6 +1949,7 @@ static void kpatch_include_standard_elements(struct kpatch_elf *kelf)
19471949
!strcmp(sec->name, ".symtab") ||
19481950
!strcmp(sec->name, ".toc") ||
19491951
!strcmp(sec->name, ".rodata") ||
1952+
!strncmp(sec->name, ".data..Lubsan", 13) ||
19501953
is_string_literal_section(sec)) {
19511954
kpatch_include_section(sec);
19521955
}

0 commit comments

Comments
 (0)