[CRIU] [PATCH 5/8] parasite: restore registers after each parasite command

Andrew Vagin avagin at parallels.com
Tue Jul 16 05:44:56 EDT 2013


On Tue, Jul 16, 2013 at 01:45:56PM +0400, Pavel Emelyanov wrote:
> On 07/15/2013 11:19 PM, Andrew Vagin wrote:
> > On Mon, Jul 15, 2013 at 09:03:42PM +0400, Pavel Emelyanov wrote:
> >> On 07/11/2013 01:46 PM, Andrey Vagin wrote:
> >>> Currenly we can restore blocking signals with help ptrace,
> >>> so if registers are restored after command, a process state
> >>> will not be corrupted if criu crashes.
> >>
> >> If criu crashes the sigreturn rescue code will restore the regs. No?
> > 
> > Yes, but two commands are required, that a parasite is able to restore
> > itself via sigreturn:
> > * allocate parasite_ctl
> > * parasite_init_daemon()
> > 
> > crtools can crash between these two commands, so we need this and
> > previos patch. This logic is used for dumping threads too.
> 
> crtools can crash between set_sigmask(blockall) and set_sigmask(prev_blocked),
> so why do we need this change? Only to reduce this risky window?

Yes


More information about the CRIU mailing list