diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-07-19 03:24:14 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-19 09:34:31 -0700 |
commit | db5dda905759c931ceb8f3f2fcfd7719009acc98 (patch) | |
tree | b02a3f5e48ee9dfec6c04ea5fcacb69075ce2998 /drivers/net/bonding/bond_ipv6.c | |
parent | c26875e2e1a07137f6e7a621fa802b03c00535b6 (diff) |
bonding: fix bond_inet6addr_event()
After commit ad1afb0039391 (vlan_dev: VLAN 0 should be treated
as "no vlan tag" (802.1p packet)),
bond_inet6addr_event() might be called with a NULL bond->vlgrp pointer, and
a non empty bond->vlan_list. vlan_group_get_device() is dereferencing a NULL pointer.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bond_ipv6.c')
-rw-r--r-- | drivers/net/bonding/bond_ipv6.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/bonding/bond_ipv6.c b/drivers/net/bonding/bond_ipv6.c index 969ffed86b9..121b073a6c3 100644 --- a/drivers/net/bonding/bond_ipv6.c +++ b/drivers/net/bonding/bond_ipv6.c @@ -178,6 +178,8 @@ static int bond_inet6addr_event(struct notifier_block *this, } list_for_each_entry(vlan, &bond->vlan_list, vlan_list) { + if (!bond->vlgrp) + continue; vlan_dev = vlan_group_get_device(bond->vlgrp, vlan->vlan_id); if (vlan_dev == event_dev) { |