On Tue, May 20, 2014 at 11:18 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote: > On 05/20/2014 11:01 AM, Cyrill Gorcunov wrote: >>> >>> This patch should fix this issue, at least. If there's still a way to >>> get a native vdso that doesn't say "[vdso]", please let me know/ >> >> Yes, having a native procfs way to detect vdso is much preferred! >> > > Is there any path by which we can end up with [vdso] without a leading > slash in /proc/self/maps? Otherwise, why is that not "native"? Dunno. But before this patch the reverse was possible: we can end up with a vdso that doesn't say [vdso]. > >>>> The situation get worse when task was dumped on one kernel and >>>> then restored on another kernel where vdso content is different >>>> from one save in image -- is such case as I mentioned we need >>>> that named vdso proxy which redirect calls to vdso of the system >>>> where task is restoring. And when such "restored" task get checkpointed >>>> second time we don't dump new living vdso but save only old vdso >>>> proxy on disk (detecting it is a different story, in short we >>>> inject a unique mark into elf header). >>> >>> Yuck. But I don't know whether the kernel can help much here. >> >> Some prctl which would tell kernel to put vdso at specifed address. >> We can live without it for now so not a big deal (yet ;) > > mremap() will do this for you. Except that it's buggy: it doesn't change mm->context.vdso. For 64-bit tasks, the only consumer outside exec was arch_vma_name, and this patch removes even that. For 32-bit tasks, though, it's needed for signal delivery. --Andy -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>