diff options
Diffstat (limited to 'drivers/net/bonding/bond_main.c')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 966643473da7..5fc9d8d58ece 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -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); |