diff options
Diffstat (limited to 'drivers/net/bonding')
-rw-r--r-- | drivers/net/bonding/bond_3ad.c | 2 | ||||
-rw-r--r-- | drivers/net/bonding/bond_alb.c | 2 | ||||
-rw-r--r-- | drivers/net/bonding/bond_main.c | 12 |
3 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index d16e0e1d2b30..ebb539e090c3 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c | |||
@@ -2429,7 +2429,7 @@ int bond_3ad_lacpdu_recv(struct sk_buff *skb, struct net_device *dev, struct pac | |||
2429 | struct slave *slave = NULL; | 2429 | struct slave *slave = NULL; |
2430 | int ret = NET_RX_DROP; | 2430 | int ret = NET_RX_DROP; |
2431 | 2431 | ||
2432 | if (dev->nd_net != &init_net) | 2432 | if (dev_net(dev) != &init_net) |
2433 | goto out; | 2433 | goto out; |
2434 | 2434 | ||
2435 | if (!(dev->flags & IFF_MASTER)) | 2435 | if (!(dev->flags & IFF_MASTER)) |
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c index 3f58c3d0b710..5a673725471c 100644 --- a/drivers/net/bonding/bond_alb.c +++ b/drivers/net/bonding/bond_alb.c | |||
@@ -345,7 +345,7 @@ static int rlb_arp_recv(struct sk_buff *skb, struct net_device *bond_dev, struct | |||
345 | struct arp_pkt *arp = (struct arp_pkt *)skb->data; | 345 | struct arp_pkt *arp = (struct arp_pkt *)skb->data; |
346 | int res = NET_RX_DROP; | 346 | int res = NET_RX_DROP; |
347 | 347 | ||
348 | if (bond_dev->nd_net != &init_net) | 348 | if (dev_net(bond_dev) != &init_net) |
349 | goto out; | 349 | goto out; |
350 | 350 | ||
351 | if (!(bond_dev->flags & IFF_MASTER)) | 351 | if (!(bond_dev->flags & IFF_MASTER)) |
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 0f0675319e9c..ecfaf1460b1a 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -2629,7 +2629,7 @@ static int bond_arp_rcv(struct sk_buff *skb, struct net_device *dev, struct pack | |||
2629 | unsigned char *arp_ptr; | 2629 | unsigned char *arp_ptr; |
2630 | __be32 sip, tip; | 2630 | __be32 sip, tip; |
2631 | 2631 | ||
2632 | if (dev->nd_net != &init_net) | 2632 | if (dev_net(dev) != &init_net) |
2633 | goto out; | 2633 | goto out; |
2634 | 2634 | ||
2635 | if (!(dev->priv_flags & IFF_BONDING) || !(dev->flags & IFF_MASTER)) | 2635 | if (!(dev->priv_flags & IFF_BONDING) || !(dev->flags & IFF_MASTER)) |
@@ -2646,10 +2646,7 @@ static int bond_arp_rcv(struct sk_buff *skb, struct net_device *dev, struct pack | |||
2646 | if (!slave || !slave_do_arp_validate(bond, slave)) | 2646 | if (!slave || !slave_do_arp_validate(bond, slave)) |
2647 | goto out_unlock; | 2647 | goto out_unlock; |
2648 | 2648 | ||
2649 | /* ARP header, plus 2 device addresses, plus 2 IP addresses. */ | 2649 | if (!pskb_may_pull(skb, arp_hdr_len(dev))) |
2650 | if (!pskb_may_pull(skb, (sizeof(struct arphdr) + | ||
2651 | (2 * dev->addr_len) + | ||
2652 | (2 * sizeof(u32))))) | ||
2653 | goto out_unlock; | 2650 | goto out_unlock; |
2654 | 2651 | ||
2655 | arp = arp_hdr(skb); | 2652 | arp = arp_hdr(skb); |
@@ -3473,7 +3470,7 @@ static int bond_netdev_event(struct notifier_block *this, unsigned long event, v | |||
3473 | { | 3470 | { |
3474 | struct net_device *event_dev = (struct net_device *)ptr; | 3471 | struct net_device *event_dev = (struct net_device *)ptr; |
3475 | 3472 | ||
3476 | if (event_dev->nd_net != &init_net) | 3473 | if (dev_net(event_dev) != &init_net) |
3477 | return NOTIFY_DONE; | 3474 | return NOTIFY_DONE; |
3478 | 3475 | ||
3479 | dprintk("event_dev: %s, event: %lx\n", | 3476 | dprintk("event_dev: %s, event: %lx\n", |
@@ -3511,6 +3508,9 @@ static int bond_inetaddr_event(struct notifier_block *this, unsigned long event, | |||
3511 | struct bonding *bond, *bond_next; | 3508 | struct bonding *bond, *bond_next; |
3512 | struct vlan_entry *vlan, *vlan_next; | 3509 | struct vlan_entry *vlan, *vlan_next; |
3513 | 3510 | ||
3511 | if (dev_net(ifa->ifa_dev->dev) != &init_net) | ||
3512 | return NOTIFY_DONE; | ||
3513 | |||
3514 | list_for_each_entry_safe(bond, bond_next, &bond_dev_list, bond_list) { | 3514 | list_for_each_entry_safe(bond, bond_next, &bond_dev_list, bond_list) { |
3515 | if (bond->dev == event_dev) { | 3515 | if (bond->dev == event_dev) { |
3516 | switch (event) { | 3516 | switch (event) { |