Skip to content

Commit

Permalink
elfcore: Replace CONFIG_{IA64, UML} checks with a new option
Browse files Browse the repository at this point in the history
As arm64 is about to introduce MTE-specific phdrs in the core dump, add
a common CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS option currently selectable
by UML_X86 and IA64.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Eric Biederman <ebiederm@xmission.com>
Link: https://lore.kernel.org/r/20220131165456.2160675-2-catalin.marinas@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
  • Loading branch information
ctmarinas authored and willdeacon committed Feb 15, 2022
1 parent dfd42fa commit b62a848
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 2 deletions.
1 change: 1 addition & 0 deletions arch/ia64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ menu "Processor type and features"

config IA64
bool
select ARCH_BINFMT_ELF_EXTRA_PHDRS
select ARCH_HAS_DMA_MARK_CLEAN
select ARCH_HAS_STRNCPY_FROM_USER
select ARCH_HAS_STRNLEN_USER
Expand Down
1 change: 1 addition & 0 deletions arch/x86/um/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ endmenu

config UML_X86
def_bool y
select ARCH_BINFMT_ELF_EXTRA_PHDRS if X86_32

config 64BIT
bool "64-bit kernel" if "$(SUBARCH)" = "x86"
Expand Down
3 changes: 3 additions & 0 deletions fs/Kconfig.binfmt
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ config COMPAT_BINFMT_ELF
config ARCH_BINFMT_ELF_STATE
bool

config ARCH_BINFMT_ELF_EXTRA_PHDRS
bool

config ARCH_HAVE_ELF_PROT
bool

Expand Down
4 changes: 2 additions & 2 deletions include/linux/elfcore.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ static inline int elf_core_copy_task_fpregs(struct task_struct *t, struct pt_reg
#endif
}

#if (defined(CONFIG_UML) && defined(CONFIG_X86_32)) || defined(CONFIG_IA64)
#ifdef CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS
/*
* These functions parameterize elf_core_dump in fs/binfmt_elf.c to write out
* extra segments containing the gate DSO contents. Dumping its
Expand Down Expand Up @@ -149,6 +149,6 @@ static inline size_t elf_core_extra_data_size(void)
{
return 0;
}
#endif
#endif /* CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS */

#endif /* _LINUX_ELFCORE_H */

0 comments on commit b62a848

Please sign in to comment.