diff options
Diffstat (limited to 'drivers/net/pppoe.c')
-rw-r--r-- | drivers/net/pppoe.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index 68631a5721ac..5ac3eff6a2a6 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c | |||
@@ -385,12 +385,12 @@ static int pppoe_rcv(struct sk_buff *skb, | |||
385 | struct pppoe_hdr *ph; | 385 | struct pppoe_hdr *ph; |
386 | struct pppox_sock *po; | 386 | struct pppox_sock *po; |
387 | 387 | ||
388 | if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr))) | ||
389 | goto drop; | ||
390 | |||
391 | if (!(skb = skb_share_check(skb, GFP_ATOMIC))) | 388 | if (!(skb = skb_share_check(skb, GFP_ATOMIC))) |
392 | goto out; | 389 | goto out; |
393 | 390 | ||
391 | if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr))) | ||
392 | goto drop; | ||
393 | |||
394 | ph = pppoe_hdr(skb); | 394 | ph = pppoe_hdr(skb); |
395 | 395 | ||
396 | po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source, dev->ifindex); | 396 | po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source, dev->ifindex); |