summaryrefslogtreecommitdiff
authorHangbin Liu <liuhangbin@gmail.com>2019-05-09 06:55:07 (GMT)
committer Greg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-16 17:43:46 (GMT)
commitd8209c10a3e1e59b93af370acf68d395253e413c (patch)
treefe3263bfa3387f62c84b796834f11871fa2f6c40
parent7b7b9da660bc79bec49dbf56178081b58b397801 (diff)
downloadcommon-d8209c10a3e1e59b93af370acf68d395253e413c.zip
common-d8209c10a3e1e59b93af370acf68d395253e413c.tar.gz
common-d8209c10a3e1e59b93af370acf68d395253e413c.tar.bz2
vlan: disable SIOCSHWTSTAMP in container
[ Upstream commit 873017af778439f2f8e3d87f28ddb1fcaf244a76 ] With NET_ADMIN enabled in container, a normal user could be mapped to root and is able to change the real device's rx filter via ioctl on vlan, which would affect the other ptp process on host. Fix it by disabling SIOCSHWTSTAMP in container. Fixes: a6111d3c93d0 ("vlan: Pass SIOC[SG]HWTSTAMP ioctls to real device") Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat
-rw-r--r--net/8021q/vlan_dev.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index fb3e2a5..d06d15db 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -366,10 +366,12 @@ static int vlan_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
ifrr.ifr_ifru = ifr->ifr_ifru;
switch (cmd) {
+ case SIOCSHWTSTAMP:
+ if (!net_eq(dev_net(dev), &init_net))
+ break;
case SIOCGMIIPHY:
case SIOCGMIIREG:
case SIOCSMIIREG:
- case SIOCSHWTSTAMP:
case SIOCGHWTSTAMP:
if (netif_device_present(real_dev) && ops->ndo_do_ioctl)
err = ops->ndo_do_ioctl(real_dev, &ifrr, cmd);