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.