]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
[MACVLAN]: Prevent nesting macvlan devices
authorPatrick McHardy <kaber@trash.net>
Fri, 11 Jan 2008 06:39:28 +0000 (22:39 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Jan 2008 06:39:28 +0000 (22:39 -0800)
Don't allow to nest macvlan devices since it will cause lockdep
warnings and isn't really useful for anything.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/macvlan.c

index 2e4bcd5654c4c0b62db0e795f87c96d73c176207..e8dc2f44fec960d9d3b58127699e5a4ed9eee838 100644 (file)
@@ -384,6 +384,13 @@ static int macvlan_newlink(struct net_device *dev,
        if (lowerdev == NULL)
                return -ENODEV;
 
+       /* Don't allow macvlans on top of other macvlans - its not really
+        * wrong, but lockdep can't handle it and its not useful for anything
+        * you couldn't do directly on top of the real device.
+        */
+       if (lowerdev->rtnl_link_ops == dev->rtnl_link_ops)
+               return -ENODEV;
+
        if (!tb[IFLA_MTU])
                dev->mtu = lowerdev->mtu;
        else if (dev->mtu > lowerdev->mtu)