diff options
Diffstat (limited to 'drivers/net/bonding/bond_3ad.c')
| -rw-r--r-- | drivers/net/bonding/bond_3ad.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index 822f586d72af..0ddf4c66afe2 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c | |||
| @@ -2466,6 +2466,9 @@ int bond_3ad_lacpdu_recv(struct sk_buff *skb, struct net_device *dev, struct pac | |||
| 2466 | if (!(dev->flags & IFF_MASTER)) | 2466 | if (!(dev->flags & IFF_MASTER)) |
| 2467 | goto out; | 2467 | goto out; |
| 2468 | 2468 | ||
| 2469 | if (!pskb_may_pull(skb, sizeof(struct lacpdu))) | ||
| 2470 | goto out; | ||
| 2471 | |||
| 2469 | read_lock(&bond->lock); | 2472 | read_lock(&bond->lock); |
| 2470 | slave = bond_get_slave_by_dev((struct bonding *)netdev_priv(dev), | 2473 | slave = bond_get_slave_by_dev((struct bonding *)netdev_priv(dev), |
| 2471 | orig_dev); | 2474 | orig_dev); |
