Skip to content

Commit c63b28c

Browse files
committed
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 <misono.tomohiro@jp.fujitsu.com>
1 parent 2d1e355 commit c63b28c

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
@@ -1644,6 +1644,7 @@ static void kpatch_replace_sections_syms(struct kpatch_elf *kelf)
16441644
!strcmp(rela->sym->name, ".fixup") ||
16451645
!strcmp(rela->sym->name, ".altinstr_replacement") ||
16461646
!strcmp(rela->sym->name, ".altinstr_aux") ||
1647+
!strncmp(rela->sym->name, ".data..Lubsan", 13) ||
16471648
!strcmp(rela->sym->name, ".text..refcount") ||
16481649
!strncmp(rela->sym->name, "__ftr_alt_", 10))
16491650
continue;
@@ -1808,7 +1809,8 @@ static void kpatch_verify_patchability(struct kpatch_elf *kelf)
18081809
(!strncmp(sec->name, ".data", 5) ||
18091810
!strncmp(sec->name, ".bss", 4)) &&
18101811
!is_data_once_section(sec->name) &&
1811-
!is_data_unlikely_section(sec->name)) {
1812+
!is_data_unlikely_section(sec->name) &&
1813+
strncmp(sec->name, ".data..Lubsan", 13)) {
18121814
log_normal("data section %s selected for inclusion\n",
18131815
sec->name);
18141816
errs++;
@@ -1904,6 +1906,7 @@ static void kpatch_include_standard_elements(struct kpatch_elf *kelf)
19041906
!strcmp(sec->name, ".symtab") ||
19051907
!strcmp(sec->name, ".toc") ||
19061908
!strcmp(sec->name, ".rodata") ||
1909+
!strncmp(sec->name, ".data..Lubsan", 13) ||
19071910
is_string_literal_section(sec)) {
19081911
kpatch_include_section(sec);
19091912
}

0 commit comments

Comments
 (0)