• Andrey Vagin's avatar
    unix: restore sockets on correct mount points · 019ebec0
    Andrey Vagin authored
    Currently we restore all sockets in the root mount namespace, because we
    were not able to get any information about a mount point where a socket
    is bound. It is obviously incorrect in some cases.
    
    In 4.10 kernel, we added the SIOCUNIXFILE ioctl for unix sockets.  This
    ioctl opens a file to which a socket is bound and returns a file
    descriptor.
    
    This new ioctl allows us to get mnt_id by reading fdinfo, and mnt_id
    is enough to find a proper mount point and a mount namespace.
    
    The logic of this patch is straight forward. On dump, we save mnt_id for
    sockets, on restore we find a mount namespace by mnt_id and restore this
    socket in its mount namespace.
    Acked-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
    019ebec0
Name
Last commit
Last update
..
google/protobuf Loading commit data...
Makefile Loading commit data...
autofs.proto Loading commit data...
binfmt-misc.proto Loading commit data...
cgroup.proto Loading commit data...
core-aarch64.proto Loading commit data...
core-arm.proto Loading commit data...
core-ppc64.proto Loading commit data...
core-s390.proto Loading commit data...
core-x86.proto Loading commit data...
core.proto Loading commit data...
cpuinfo.proto Loading commit data...
creds.proto Loading commit data...
eventfd.proto Loading commit data...
eventpoll.proto Loading commit data...
ext-file.proto Loading commit data...
fdinfo.proto Loading commit data...
fh.proto Loading commit data...
fifo.proto Loading commit data...
file-lock.proto Loading commit data...
fown.proto Loading commit data...
fs.proto Loading commit data...
fsnotify.proto Loading commit data...
ghost-file.proto Loading commit data...
inventory.proto Loading commit data...
ipc-desc.proto Loading commit data...
ipc-msg.proto Loading commit data...
ipc-sem.proto Loading commit data...
ipc-shm.proto Loading commit data...
ipc-var.proto Loading commit data...
macvlan.proto Loading commit data...
mm.proto Loading commit data...
mnt.proto Loading commit data...
netdev.proto Loading commit data...
ns.proto Loading commit data...
opts.proto Loading commit data...
packet-sock.proto Loading commit data...
pagemap.proto Loading commit data...
pipe-data.proto Loading commit data...
pipe.proto Loading commit data...
pstree.proto Loading commit data...
regfile.proto Loading commit data...
remap-file-path.proto Loading commit data...
rlimit.proto Loading commit data...
rpc.proto Loading commit data...
sa.proto Loading commit data...
seccomp.proto Loading commit data...
siginfo.proto Loading commit data...
signalfd.proto Loading commit data...
sit.proto Loading commit data...
sk-inet.proto Loading commit data...
sk-netlink.proto Loading commit data...
sk-opts.proto Loading commit data...
sk-packet.proto Loading commit data...
sk-unix.proto Loading commit data...
stats.proto Loading commit data...
sysctl.proto Loading commit data...
tcp-stream.proto Loading commit data...
time.proto Loading commit data...
timer.proto Loading commit data...
timerfd.proto Loading commit data...
tty.proto Loading commit data...
tun.proto Loading commit data...
userns.proto Loading commit data...
utsns.proto Loading commit data...
vma.proto Loading commit data...