diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-01-15 08:06:47 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-01-15 08:06:47 -0800 |
commit | 612166c76d6bd1ccd2624a15586a92444d2c4c0e (patch) | |
tree | cbe3bbc73fe5321d109c01259e64ea98e2646a9c /drivers/net/macvlan.c | |
parent | f885b51967fb5f611c462841e5119853df00cc97 (diff) | |
parent | 1b310fca30ac9851f79337ca72b1cf6a0f58064a (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
[TOKENRING]: rif_timer not initialized properly
[NETFILTER]: bridge: fix double POST_ROUTING invocation
[NETFILTER]: xt_helper: Do not bypass RCU
[NETFILTER]: ip6t_eui64: Fixes calculation of Universal/Local bit
[MACVLAN]: Prevent nesting macvlan devices
[VLAN]: nested VLAN: fix lockdep's recursive locking warning
[DECNET] ROUTE: fix rcu_dereference() uses in /proc/net/decnet_cache
[BLUETOOTH]: Always send explicit hci_ll wake-up acks.
[BLUETOOTH]: rfcomm tty BUG_ON() code fix
[AX25] af_ax25: Possible circular locking.
[AX25]: Kill user triggable printks.
[IPV4] ROUTE: fix rcu_dereference() uses in /proc/net/rt_cache
[NEIGH]: Fix race between neigh_parms_release and neightbl_fill_parms
[NIU]: Support for Marvell PHY
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r-- | drivers/net/macvlan.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 2e4bcd5654c4..e8dc2f44fec9 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -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) |