Message ID | 20220131165456.2160675-2-catalin.marinas@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: mte: add core dump support | expand |
On Mon, Jan 31, 2022 at 04:54:52PM +0000, Catalin Marinas wrote: > 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> > --- > arch/ia64/Kconfig | 1 + > arch/x86/um/Kconfig | 1 + > fs/Kconfig.binfmt | 3 +++ > include/linux/elfcore.h | 4 ++-- > 4 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig > index a7e01573abd8..e003b2473c64 100644 > --- a/arch/ia64/Kconfig > +++ b/arch/ia64/Kconfig > @@ -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 > diff --git a/arch/x86/um/Kconfig b/arch/x86/um/Kconfig > index 40d6a06e41c8..ead7e5b3a975 100644 > --- a/arch/x86/um/Kconfig > +++ b/arch/x86/um/Kconfig > @@ -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" > diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt > index 4d5ae61580aa..68e586283764 100644 > --- a/fs/Kconfig.binfmt > +++ b/fs/Kconfig.binfmt > @@ -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 > > diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h > index 746e081879a5..b02d5fc711db 100644 > --- a/include/linux/elfcore.h > +++ b/include/linux/elfcore.h > @@ -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 > @@ -149,6 +149,6 @@ static inline size_t elf_core_extra_data_size(void) > { > return 0; > } > -#endif > +#endif /* CONFIG_ARCH_EXTRA_PHDRS */ nit: closing comment doesn't match the name of the new Kconfig symbol. I'll fix that and put the series into -next. Will
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index a7e01573abd8..e003b2473c64 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -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 diff --git a/arch/x86/um/Kconfig b/arch/x86/um/Kconfig index 40d6a06e41c8..ead7e5b3a975 100644 --- a/arch/x86/um/Kconfig +++ b/arch/x86/um/Kconfig @@ -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" diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt index 4d5ae61580aa..68e586283764 100644 --- a/fs/Kconfig.binfmt +++ b/fs/Kconfig.binfmt @@ -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 diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h index 746e081879a5..b02d5fc711db 100644 --- a/include/linux/elfcore.h +++ b/include/linux/elfcore.h @@ -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 @@ -149,6 +149,6 @@ static inline size_t elf_core_extra_data_size(void) { return 0; } -#endif +#endif /* CONFIG_ARCH_EXTRA_PHDRS */ #endif /* _LINUX_ELFCORE_H */
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> --- arch/ia64/Kconfig | 1 + arch/x86/um/Kconfig | 1 + fs/Kconfig.binfmt | 3 +++ include/linux/elfcore.h | 4 ++-- 4 files changed, 7 insertions(+), 2 deletions(-)