Skip to content

Commit 7352145

Browse files
t-msnswine
authored andcommitted
WIP: create-diff-object: keep ubsan section
If CONIFIG_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 be7587c commit 7352145

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

kpatch-build/create-diff-object.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1656,6 +1656,7 @@ static void kpatch_replace_sections_syms(struct kpatch_elf *kelf)
16561656
!strcmp(rela->sym->name, ".fixup") ||
16571657
!strcmp(rela->sym->name, ".altinstr_replacement") ||
16581658
!strcmp(rela->sym->name, ".altinstr_aux") ||
1659+
!strncmp(rela->sym->name, ".data..Lubsan", 13) ||
16591660
!strcmp(rela->sym->name, ".text..refcount"))
16601661
continue;
16611662

@@ -1819,7 +1820,8 @@ static void kpatch_verify_patchability(struct kpatch_elf *kelf)
18191820
(!strncmp(sec->name, ".data", 5) ||
18201821
!strncmp(sec->name, ".bss", 4)) &&
18211822
!is_data_once_section(sec->name) &&
1822-
!is_data_unlikely_section(sec->name)) {
1823+
!is_data_unlikely_section(sec->name) &&
1824+
strncmp(sec->name, ".data..Lubsan", 13)) {
18231825
log_normal("data section %s selected for inclusion\n",
18241826
sec->name);
18251827
errs++;
@@ -1915,6 +1917,7 @@ static void kpatch_include_standard_elements(struct kpatch_elf *kelf)
19151917
!strcmp(sec->name, ".symtab") ||
19161918
!strcmp(sec->name, ".toc") ||
19171919
!strcmp(sec->name, ".rodata") ||
1920+
!strncmp(sec->name, ".data..Lubsan", 13) ||
19181921
is_string_literal_section(sec)) {
19191922
kpatch_include_section(sec);
19201923
}

0 commit comments

Comments
 (0)