The asm/mmu_context.h include was added to asm/elf.h by commit 146e4b3c8b92
("[S390] 1K/2K page table pages.") in 2008, when the new macro
elf_read_implies_exec() used disable_noexec() /
current->mm->context.noexec. Commit 043d07084b53 ("[S390] Remove data
execution protection") removed that macro in 2011 and asm/elf.h no longer
needs asm/mmu_context.h.Several s390 files currently depend on declarations provided indirectly through asm/elf.h -> asm/mmu_context.h: * arch/s390/mm/mmap.c: check_asce_limit() -> asm/pgalloc.h, * arch/s390/kernel/processor.c: enter_lazy_tlb() -> asm/mmu_context.h. Add the missing includes to these files and remove the asm/mmu_context.h include from asm/elf.h. This is a preparatory cleanup for adding the asm/elf.h include in linux/cpufeature.h, which would otherwise create the following cycle: linux/pgtable.h -> asm/pgtable.h -> linux/cpufeature.h -> asm/elf.h -> asm/mmu_context.h -> asm/pgalloc.h -> linux/mm.h -> linux/pgtable.h Signed-off-by: Petr Pavlu <[email protected]> --- arch/s390/include/asm/elf.h | 1 - arch/s390/kernel/processor.c | 1 + arch/s390/mm/mmap.c | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h index bb63fa4d20bb..e22e3ab25760 100644 --- a/arch/s390/include/asm/elf.h +++ b/arch/s390/include/asm/elf.h @@ -170,7 +170,6 @@ typedef s390_fp_regs elf_fpregset_t; typedef s390_regs elf_gregset_t; #include <linux/sched/mm.h> /* for task_struct */ -#include <asm/mmu_context.h> /* * This is used to ensure we don't load something for the wrong architecture. diff --git a/arch/s390/kernel/processor.c b/arch/s390/kernel/processor.c index e33a3eccda56..76b2c7478c6e 100644 --- a/arch/s390/kernel/processor.c +++ b/arch/s390/kernel/processor.c @@ -27,6 +27,7 @@ #include <asm/param.h> #include <asm/sclp.h> #include <asm/smp.h> +#include <asm/mmu_context.h> unsigned long __read_mostly elf_hwcap; char elf_platform[ELF_PLATFORM_SIZE]; diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c index ef7bfc87758c..8206f347e00e 100644 --- a/arch/s390/mm/mmap.c +++ b/arch/s390/mm/mmap.c @@ -18,6 +18,7 @@ #include <linux/security.h> #include <linux/hugetlb.h> #include <asm/elf.h> +#include <asm/pgalloc.h> static unsigned long stack_maxrandom_size(void) { -- 2.55.0

