diff options
-rw-r--r-- | net/ipv4/esp4_offload.c | 3 | ||||
-rw-r--r-- | net/ipv6/esp6_offload.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/esp4_offload.c b/net/ipv4/esp4_offload.c index f8b918c766b0..b1338e576d00 100644 --- a/net/ipv4/esp4_offload.c +++ b/net/ipv4/esp4_offload.c | |||
@@ -38,7 +38,8 @@ static struct sk_buff **esp4_gro_receive(struct sk_buff **head, | |||
38 | __be32 spi; | 38 | __be32 spi; |
39 | int err; | 39 | int err; |
40 | 40 | ||
41 | skb_pull(skb, offset); | 41 | if (!pskb_pull(skb, offset)) |
42 | return NULL; | ||
42 | 43 | ||
43 | if ((err = xfrm_parse_spi(skb, IPPROTO_ESP, &spi, &seq)) != 0) | 44 | if ((err = xfrm_parse_spi(skb, IPPROTO_ESP, &spi, &seq)) != 0) |
44 | goto out; | 45 | goto out; |
diff --git a/net/ipv6/esp6_offload.c b/net/ipv6/esp6_offload.c index 333a478aa161..dd9627490c7c 100644 --- a/net/ipv6/esp6_offload.c +++ b/net/ipv6/esp6_offload.c | |||
@@ -60,7 +60,8 @@ static struct sk_buff **esp6_gro_receive(struct sk_buff **head, | |||
60 | int nhoff; | 60 | int nhoff; |
61 | int err; | 61 | int err; |
62 | 62 | ||
63 | skb_pull(skb, offset); | 63 | if (!pskb_pull(skb, offset)) |
64 | return NULL; | ||
64 | 65 | ||
65 | if ((err = xfrm_parse_spi(skb, IPPROTO_ESP, &spi, &seq)) != 0) | 66 | if ((err = xfrm_parse_spi(skb, IPPROTO_ESP, &spi, &seq)) != 0) |
66 | goto out; | 67 | goto out; |