summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHangbin Liu <liuhangbin@gmail.com>2019-05-09 09:54:08 +0300
committerDavid S. Miller <davem@davemloft.net>2019-05-09 19:30:35 +0300
commit6c2ea9ebafa79eea9098a134a422391638879f45 (patch)
treec37eef5d98338c65240a52abd30499faca04b1cb /drivers
parentff946833b70e0c7f93de9a3f5b329b5ae2287b38 (diff)
downloadlinux-6c2ea9ebafa79eea9098a134a422391638879f45.tar.xz
macvlan: disable SIOCSHWTSTAMP in container
Miroslav pointed that 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 macvlan, which would affect the other ptp process on host. Fix it by disabling SIOCSHWTSTAMP in container. Fixes: 254c0a2bfedb ("macvlan: pass get_ts_info and SIOC[SG]HWTSTAMP ioctl 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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/macvlan.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index b395423b19bc..92efa93649f0 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -836,6 +836,8 @@ static int macvlan_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
switch (cmd) {
case SIOCSHWTSTAMP:
+ if (!net_eq(dev_net(dev), &init_net))
+ break;
case SIOCGHWTSTAMP:
if (netif_device_present(real_dev) && ops->ndo_do_ioctl)
err = ops->ndo_do_ioctl(real_dev, &ifrr, cmd);