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

Pavel Emelyanov xemul at parallels.com
Tue Jul 16 05:45:56 EDT 2013


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?


More information about the CRIU mailing list