On 9/13/24 22:51, Dave Hansen wrote:
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?
Yes, that's the one which fails the build with the following warning.
error: lvalue required as unary '&' operand
Will update the commit message with these details about the build problem.
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.
Right.