On Fri, Dec 14, 2012 at 10:47:53AM -0800, H. Peter Anvin wrote: > On 12/14/2012 10:44 AM, Andy Lutomirski wrote: > >> > >> mremap() should work. At the same time, the code itself is not going to > >> have any stability guarantees between kernel versions -- it obviously > >> cannot. > > > > We could guarantee that the symbols in the vdso resolve to particular > > offsets within the vdso. (Yes, this is ugly.) > > > > Does criu support checkpointing with one version of a shared library > > and restoring with another? If there are no textrels (or whatever the > > relocation type that actually modifies text as opposed to just the plt > > or got) then, in principle, it should be doable. Otherwise some > > kernel help will be needed to checkpoint reliably on one kernel and > > restore somewhere else. > > > > (This isn't a regression -- it's already broken.) > > > The real issue is that happens if the process is checkpointed while > inside the vdso and now eip/rip or a stack frame points into the vdso. > This is not impossible or even unlikely, especially on 32 bits it is > downright likely.
I fear if there are stacked ip which point to vdso -- we simply won't be able to restore properly if vdso internal format changed significantly between kernel versions. (At moment we restore vdso exactly at same position it was on checkpoint stage with same content, iirc). Cyrill -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/