Messages in this thread | | | Date | Fri, 14 Dec 2012 10:47:53 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [CRIU] [PATCH] Add VDSO time function support for x86 32-bit kernel |
| |
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.
-hpa
| |