It sure doesn't make sense to me, but that's effectively what
elf_kcore_store_hdr does:
for (m=vmlist; m; m=m->next) {
[ snip ]
phdr->p_paddr = __pa(m->addr);
[ snip ]
}
This doesn't actually hurt when __pa(addr) == addr - $SOMETHING, but it
does produce meaningless numbers.
It does hurt when your __pa() is something more complicated and it can
tell that it's being asked to do something stupid.
So what's p_paddr supposed to be, anyway?
Jeff