Re: [PATCH 2/7] x86/mm: Drop page table entry address output from pxd_ERROR()

From: Dave Hansen
Date: Fri Sep 13 2024 - 13:21:59 EST


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.