[CRIU] [PATCH 17/18] sk-unix: Add ability to restore sockets with deleted vfs addresses

Cyrill Gorcunov gorcunov at gmail.com
Mon Apr 10 03:08:58 PDT 2017


On Mon, Apr 10, 2017 at 12:32:40PM +0300, Kirill Tkhai wrote:
> On 10.04.2017 12:22, Cyrill Gorcunov wrote:
> > On Mon, Apr 10, 2017 at 12:16:22PM +0300, Kirill Tkhai wrote:
> >>>  
> >>>  	ui = container_of(d, struct unix_sk_info, d);
> >>> +	gm = ui->ghost_master;
> >>> +
> >>> +	if (ui->flags & USK_GHOST_WAIT) {
> >>> +		if (!(gm->flags & USK_ADDR_RDY))
> >>> +			return 1;
> >>
> >> Kiryuha, if we return "1", this means restore of file_desc is not possible
> >> at the moment, and the process may fall to sleep this case. So, it's need
> >> to wake it up, when the restore of the file_desc may continue. I.e., we need
> >> to use set_fds_event() in the places, where we set ui->flags |= USK_ADDR_RDY.
> > 
> > Aha! Thanks for the note! Will update this particular patch.
> 
> One more moment. Now it's not clear for me that there is no circular dependencies
> between waiting of other deleted socket and waiting of binding of a peer to connect
> to it. Are there no circular dependencies?

Should not be, but I'll recheck.


More information about the CRIU mailing list