From: Hangbin Liu Date: Thu, 9 May 2019 06:55:07 +0000 (+0800) Subject: vlan: disable SIOCSHWTSTAMP in container X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=873017af778439f2f8e3d87f28ddb1fcaf244a76;p=openwrt%2Fstaging%2Fblogic.git vlan: disable SIOCSHWTSTAMP in container 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 Acked-by: Richard Cochran Signed-off-by: David S. Miller --- diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index f044ae56a313..2a9a60733594 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c @@ -370,10 +370,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);