summaryrefslogtreecommitdiff
path: root/net/8021q/vlan.c
diff options
context:
space:
mode:
authorJiri Pirko <jpirko@redhat.com>2010-03-10 10:30:19 +0000
committerDavid S. Miller <davem@davemloft.net>2010-03-18 20:00:02 -0700
commit1c01fe14a87332cc88266fbd6e598319322eb96f (patch)
treee80491a8120724db96f7f6c6d2e2334d33383e6c /net/8021q/vlan.c
parent3ca5b4042ecae5e73c59de62e4ac0db31c10e0f8 (diff)
downloadlinux-3.10-1c01fe14a87332cc88266fbd6e598319322eb96f.tar.gz
linux-3.10-1c01fe14a87332cc88266fbd6e598319322eb96f.tar.bz2
linux-3.10-1c01fe14a87332cc88266fbd6e598319322eb96f.zip
net: forbid underlaying devices to change its type
It's not desired for underlaying devices to change type. At the time, there is for example possible to have bond with changed type from Ethernet to Infiniband as a port of a bridge. This patch fixes this. Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q/vlan.c')
-rw-r--r--net/8021q/vlan.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 453512266ea..c39a5f41169 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -530,6 +530,10 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event,
}
unregister_netdevice_many(&list);
break;
+
+ case NETDEV_PRE_TYPE_CHANGE:
+ /* Forbid underlaying device to change its type. */
+ return NOTIFY_BAD;
}
out: