On 9/13/24 01:44, Anshuman Khandual wrote: > This drops page table entry address output from all pxd_ERROR() definitions > which now matches with other architectures. This also prevents build issues > while transitioning into pxdp_get() based page table entry accesses. Could you be a _little_ more specific than "build issues"? Is it that you want to do: void pmd_clear_bad(pmd_t *pmd) { - pmd_ERROR(*pmd); + pmd_ERROR(pmdp_get(pmd)); pmd_clear(pmd); } But the pmd_ERROR() macro would expand that to: &pmdp_get(pmd) which is nonsense? Having the PTEs' kernel addresses _is_ handy, but I guess they're scrambled on most end users' systems now and anybody that's actively debugging can just use a kprobe or something to dump the pmd_clear_bad() argument directly.