On 2/7/25 08:37, Maciej Wieczor-Retman wrote: > @@ -287,7 +290,7 @@ static pte_t *fill_pte(pmd_t *pmd, unsigned long vaddr) > if (pmd_none(*pmd)) { > pte_t *pte = (pte_t *) spp_getpage(); > pmd_populate_kernel(&init_mm, pmd, pte); > - if (pte != pte_offset_kernel(pmd, 0)) > + if (__pa(pte) != (pmd_val(*pmd) & pmd_pfn_mask(*pmd))) > printk(KERN_ERR "PAGETABLE BUG #03!\n"); > } > return pte_offset_kernel(pmd, vaddr); Open coding it like this is fine with me. The p*_offset_kernel(p*,0) thing is arguably even harder to parse.