On Fri, Feb 17, 2017 at 12:30 AM, Cyrill Gorcunov <[email protected]> wrote:
> When we checkpoint a process we look into /proc/<pid>/fdinfo/<fd> of eventpoll
> file and parse target files list from there. In most situations this is fine
> because target file is present in the /proc/<pid>/fd/ list. But in case if 
> file
> descriptor was dup'ed or transferred via unix socket and closed after,
> it might not be in the list and we can't figure out which file descriptor
> to pass into epoll_ctl call.
>
> To resolve this tie lets add EPOLL_CTL_DUP operation which simply takes
> target file descriptor number and installs it into a caller's file table,
> thus we can use kcmp() syscall and figure out which exactly file to be
> added into eventpoll on restore procedure.

This is a scary thing to let an unprivileged process do.

I'm wondering if there might be a nicer way to address this using a
better interface in /proc.

Reply via email to