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 <[email protected]>
---
 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


Reply via email to