On Fri, Jan 03, 2025 at 06:44:15PM +0000, Kevin Brodsky wrote:

Hi Kevin,
...
> diff --git a/arch/s390/include/asm/pgalloc.h b/arch/s390/include/asm/pgalloc.h
> index 5fced6d3c36b..b19b6ed2ab53 100644
> --- a/arch/s390/include/asm/pgalloc.h
> +++ b/arch/s390/include/asm/pgalloc.h
> @@ -130,11 +130,18 @@ static inline void pud_populate(struct mm_struct *mm, 
> pud_t *pud, pmd_t *pmd)
>  
>  static inline pgd_t *pgd_alloc(struct mm_struct *mm)
>  {
> -     return (pgd_t *) crst_table_alloc(mm);
> +     unsigned long *table = crst_table_alloc(mm);
> +
> +     if (!table)
> +             return NULL;

I do not know status of this series, but FWIW, this call is missed:

        crst_table_init(table, _REGION1_ENTRY_EMPTY); 

> +     pagetable_pgd_ctor(virt_to_ptdesc(table));
> +
> +     return (pgd_t *) table;
>  }
>  
>  static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
>  {
> +     pagetable_dtor(virt_to_ptdesc(pgd));
>       crst_table_free(mm, (unsigned long *) pgd);
>  }

...

Thanks!

_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

Reply via email to