net: add an ioctl to get a socket network namespace
authorAndrey Vagin <avagin@openvz.org>
Tue, 25 Oct 2016 01:29:13 +0000 (18:29 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 31 Oct 2016 14:56:36 +0000 (10:56 -0400)
commitc62cce2caee558e18aa05c01c2fd3b40f07174f2
treef652d443eb8394c24772bcee4cf15f3a1a6586f1
parent2a43ca0aa9084c41aaa1006fbf22155b2e94babf
net: add an ioctl to get a socket network namespace

Each socket operates in a network namespace where it has been created,
so if we want to dump and restore a socket, we have to know its network
namespace.

We have a socket_diag to get information about sockets, it doesn't
report sockets which are not bound or connected.

This patch introduces a new socket ioctl, which is called SIOCGSKNS
and used to get a file descriptor for a socket network namespace.

A task must have CAP_NET_ADMIN in a target network namespace to
use this ioctl.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrei Vagin <avagin@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
fs/nsfs.c
include/linux/proc_fs.h
include/uapi/linux/sockios.h
net/socket.c