Messages in this thread | | | Date | Fri, 14 Dec 2012 15:55:04 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [CRIU] [PATCH] Add VDSO time function support for x86 32-bit kernel |
| |
On 12/14/2012 03:48 PM, John Stultz wrote: > On 12/14/2012 02:48 PM, H. Peter Anvin wrote: >> On 12/14/2012 02:43 PM, Cyrill Gorcunov wrote: >>> On Fri, Dec 14, 2012 at 02:27:08PM -0800, H. Peter Anvin wrote: >>> >>> >>> This won't help in case of scenario you've been pointing in >>> previous email (where c/r happens in a middle of vdso), >>> would it? Because we still need somehow to be sure we're not >>> checkpointing in a middle of signal handler which will return >>> to some vdso place. >> It is okay if and only if those vdso places never change... which I >> think is doable if they only contain trival system call wrappers, i.e. >> something like: >> >> movl $__SYS_gettimeofday, %eax >> syscall >> ret > > Though doesn't this make it easier for exploits (somewhat undoing ASLR)? > I know Andi always wanted to avoid having syscall instructions at a > fixed location for the old vsyscall code (though I know we had it > none-the-less for awhile). But maybe I'm confusing issues here? >
They aren't in fixed addresses across processes... the vdso location can still be randomized. It just has to be the same across the checkpoint/restart operation, just like all the other instructions.
-hpa
| |