On 05/20/2014 11:24 AM, Andy Lutomirski wrote: > 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]. > That's a bug, which is being fixed. We can't go back in time and create new interfaces on old kernels. >> >>>>> 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. > Again, a bug, let's fix it rather than saying we need a new interface. -hpa -- 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>