[CRIU] Error (namespaces.c:965): BUG at namespaces.c:965

Stanislav Kinsburskiy skinsbursky at virtuozzo.com
Wed Mar 30 10:15:35 PDT 2016



30.03.2016 19:03, Tycho Andersen пишет:
> On Wed, Mar 30, 2016 at 06:57:40PM +0200, Stanislav Kinsburskiy wrote:
>> Hello,
>>
>> There is a commit 85ebf0a83b2a1d1eada1989b33f3208b80507db9, which introduced
>> this hunk:
>>
>> @@ -918,8 +949,10 @@ static int usernsd(int sk)
>>                          return -1;
>>                  }
>>
>> -               fd = unsc_msg_fd(&um);
>> -               pr_debug("UNS: daemon calls %p (%d, %x)\n", call, fd,
>> flags);
>> +               unsc_msg_pid_fd(&um, &pid, &fd);
>> +               pr_debug("UNS: daemon calls %p (%d, %d, %x)\n", call, pid,
>> fd, flags);
>> +
>> +               BUG_ON(fd < 0 && flags & UNS_FDOUT);
>>
>>                  /*
>>                   * Caller has sent us bare address of the routine it
>>
>> Could you, please, explain, what was the reason to prevent returning file
>> descriptor, if provided one is negative (BUG_ON)?
>> A brief look at the code doesn't explain, why uns can't be used _only_ to
>> open some file and return its descriptor.
> I think it was probably just that all the calls we have right now use
> unsd to set some special bits on an fd that already exists, not to
> open a new one, so it was more just to prevent errors in future
> callers of forgetting to pass an fd but passing UNS_FDOUT. It should
> be safe to remove.
>
> Tycho

Thanks!


More information about the CRIU mailing list