[CRIU] [PATCH v3 2/2] unix: don't drop the path on unix sockets if they don't exist
Pavel Emelyanov
xemul at virtuozzo.com
Thu Jul 14 03:55:15 PDT 2016
On 07/13/2016 05:25 PM, Tycho Andersen wrote:
> Hi Pavel,
>
> On Wed, Jul 13, 2016 at 04:01:59PM +0300, Pavel Emelyanov wrote:
>> Both applied, thanks :)
>>
>> Would you also check whether this thing git fixed:
>>
>> static int bind_unix_sk(int sk, struct unix_sk_info *ui)
>> {
>> struct sockaddr_un addr;
>> int cwd_fd = -1;
>> int ret = -1;
>>
>> if ((ui->ue->type == SOCK_STREAM) && (ui->ue->state == TCP_ESTABLISHED)) {
>> /*
>> * FIXME this can be done, but for doing this properly we
>> * need to bind socket to its name, then rename one to
>> * some temporary unique one and after all the sockets are
>> * restored we should walk those temp names and rename
>> * some of them back to real ones.
>> */
>> ret = 0;
>> goto done;
>> }
>>
>> this is for the case when we have established socket that inherited its name
>> from the listening one. Presumably it has, and, id I'm right, would you add
>> a test for this and drop this comment? :)
>
> Won't established sockets have the same inode as listen sockets?
No, the new pair of sockets will be created upon connect()/accept() calls.
> I think in this case we have to do something a little more clever, as
> the code won't detect them as "deleted". Anyway, I can figure it out
> and send some patches.
Awesome :)
> Tycho
> .
>
More information about the CRIU
mailing list