diff options
Diffstat (limited to 'net/ipv6/ip6_offload.c')
| -rw-r--r-- | net/ipv6/ip6_offload.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c index 280268f1dd7b..cdb3728faca7 100644 --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c | |||
| @@ -116,8 +116,10 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb, | |||
| 116 | 116 | ||
| 117 | if (udpfrag) { | 117 | if (udpfrag) { |
| 118 | int err = ip6_find_1stfragopt(skb, &prevhdr); | 118 | int err = ip6_find_1stfragopt(skb, &prevhdr); |
| 119 | if (err < 0) | 119 | if (err < 0) { |
| 120 | kfree_skb_list(segs); | ||
| 120 | return ERR_PTR(err); | 121 | return ERR_PTR(err); |
| 122 | } | ||
| 121 | fptr = (struct frag_hdr *)((u8 *)ipv6h + err); | 123 | fptr = (struct frag_hdr *)((u8 *)ipv6h + err); |
| 122 | fptr->frag_off = htons(offset); | 124 | fptr->frag_off = htons(offset); |
| 123 | if (skb->next) | 125 | if (skb->next) |
