[PATCH 09/22] s390: mm: use mm_is_kernel() for kernel mm checks
From: Kevin Brodsky
Date: Tue Jul 14 2026 - 10:07:43 EST
The new MMF_KERNEL flag identifies kernel-owned mm's. Checking the
flag with mm_is_kernel() is preferred over comparing directly
against &init_mm.
No functional change, as only init_mm has MMF_KERNEL set for now.
Assisted-by: Codex:GPT-5.5
Signed-off-by: Kevin Brodsky <kevin.brodsky@xxxxxxx>
---
arch/s390/include/asm/mmu_context.h | 2 +-
arch/s390/include/asm/pgtable.h | 6 +++---
arch/s390/mm/pgalloc.c | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/s390/include/asm/mmu_context.h b/arch/s390/include/asm/mmu_context.h
index bd1ef5e2d2eb..675f270d0b70 100644
--- a/arch/s390/include/asm/mmu_context.h
+++ b/arch/s390/include/asm/mmu_context.h
@@ -69,7 +69,7 @@ static inline void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *
{
int cpu = smp_processor_id();
- if (next == &init_mm)
+ if (mm_is_kernel(next))
get_lowcore()->user_asce = s390_invalid_asce;
else
get_lowcore()->user_asce.val = next->context.asce;
diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
index e882663a58e7..f7741e6b417e 100644
--- a/arch/s390/include/asm/pgtable.h
+++ b/arch/s390/include/asm/pgtable.h
@@ -1836,21 +1836,21 @@ static inline int has_transparent_hugepage(void)
#ifdef CONFIG_PAGE_TABLE_CHECK
static inline bool pte_user_accessible_page(struct mm_struct *mm, unsigned long addr, pte_t pte)
{
- VM_BUG_ON(mm == &init_mm);
+ VM_BUG_ON(mm_is_kernel(mm));
return pte_present(pte);
}
static inline bool pmd_user_accessible_page(struct mm_struct *mm, unsigned long addr, pmd_t pmd)
{
- VM_BUG_ON(mm == &init_mm);
+ VM_BUG_ON(mm_is_kernel(mm));
return pmd_leaf(pmd) && (pmd_val(pmd) & _SEGMENT_ENTRY_READ);
}
static inline bool pud_user_accessible_page(struct mm_struct *mm, unsigned long addr, pud_t pud)
{
- VM_BUG_ON(mm == &init_mm);
+ VM_BUG_ON(mm_is_kernel(mm));
return pud_leaf(pud);
}
diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c
index 7ac44543e051..d0456b7e73d4 100644
--- a/arch/s390/mm/pgalloc.c
+++ b/arch/s390/mm/pgalloc.c
@@ -20,7 +20,7 @@ unsigned long *crst_table_alloc_noprof(struct mm_struct *mm)
struct ptdesc *ptdesc;
unsigned long *table;
- if (mm == &init_mm)
+ if (mm_is_kernel(mm))
gfp &= ~__GFP_ACCOUNT;
ptdesc = pagetable_alloc_noprof(gfp, CRST_ALLOC_ORDER);
if (!ptdesc)
@@ -120,7 +120,7 @@ unsigned long *page_table_alloc_noprof(struct mm_struct *mm)
struct ptdesc *ptdesc;
unsigned long *table;
- if (mm == &init_mm)
+ if (mm_is_kernel(mm))
gfp &= ~__GFP_ACCOUNT;
ptdesc = pagetable_alloc_noprof(gfp, 0);
if (!ptdesc)
--
2.51.2