summaryrefslogtreecommitdiffstats
path: root/net/tls
diff options
context:
space:
mode:
authorMichael Weiß <michael.weiss@aisec.fraunhofer.de>2020-04-07 13:11:48 +0200
committerDavid S. Miller <davem@davemloft.net>2020-04-08 14:30:46 -0700
commit2abe05234f2e892728c388169631e4b99f354c86 (patch)
tree43c7099e569d6953e3265fdc6ade5d14a95e63ea /net/tls
parent48fc96b315883038a70b9c7b0580cbcd7bab88b9 (diff)
downloadlinux-2abe05234f2e892728c388169631e4b99f354c86.tar.gz
linux-2abe05234f2e892728c388169631e4b99f354c86.tar.bz2
linux-2abe05234f2e892728c388169631e4b99f354c86.zip
l2tp: Allow management of tunnels and session in user namespace
Creation and management of L2TPv3 tunnels and session through netlink requires CAP_NET_ADMIN. However, a process with CAP_NET_ADMIN in a non-initial user namespace gets an EPERM due to the use of the genetlink GENL_ADMIN_PERM flag. Thus, management of L2TP VPNs inside an unprivileged container won't work. We replaced the GENL_ADMIN_PERM by the GENL_UNS_ADMIN_PERM flag similar to other network modules which also had this problem, e.g., openvswitch (commit 4a92602aa1cd "openvswitch: allow management from inside user namespaces") and nl80211 (commit 5617c6cd6f844 "nl80211: Allow privileged operations from user namespaces"). I tested this in the container runtime trustm3 (trustm3.github.io) and was able to create l2tp tunnels and sessions in unpriviliged (user namespaced) containers using a private network namespace. For other runtimes such as docker or lxc this should work, too. Signed-off-by: Michael Weiß <michael.weiss@aisec.fraunhofer.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tls')
0 files changed, 0 insertions, 0 deletions