On Tue, Sep 10, 2024 at 02:14:36PM +1000, Alistair Popple wrote: Hi Alistair, > diff --git a/arch/powerpc/mm/book3s64/pgtable.c b/arch/powerpc/mm/book3s64/pgtable.c > index 5a4a753..4537a29 100644 > --- a/arch/powerpc/mm/book3s64/pgtable.c > +++ b/arch/powerpc/mm/book3s64/pgtable.c > @@ -193,7 +192,7 @@ pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, > pmd_t pmd; > VM_BUG_ON(addr & ~HPAGE_PMD_MASK); > VM_BUG_ON((pmd_present(*pmdp) && !pmd_trans_huge(*pmdp) && > - !pmd_devmap(*pmdp)) || !pmd_present(*pmdp)); > + || !pmd_present(*pmdp)); That looks broken. > pmd = pmdp_huge_get_and_clear(vma->vm_mm, addr, pmdp); > /* > * if it not a fullmm flush, then we can possibly end up converting Thanks!