diff options
Diffstat (limited to 'net/core')
| -rw-r--r-- | net/core/dev.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index be11abac89b3..e61528c50209 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -4593,6 +4593,7 @@ static gro_result_t napi_skb_finish(gro_result_t ret, struct sk_buff *skb) | |||
| 4593 | case GRO_MERGED_FREE: | 4593 | case GRO_MERGED_FREE: |
| 4594 | if (NAPI_GRO_CB(skb)->free == NAPI_GRO_FREE_STOLEN_HEAD) { | 4594 | if (NAPI_GRO_CB(skb)->free == NAPI_GRO_FREE_STOLEN_HEAD) { |
| 4595 | skb_dst_drop(skb); | 4595 | skb_dst_drop(skb); |
| 4596 | secpath_reset(skb); | ||
| 4596 | kmem_cache_free(skbuff_head_cache, skb); | 4597 | kmem_cache_free(skbuff_head_cache, skb); |
| 4597 | } else { | 4598 | } else { |
| 4598 | __kfree_skb(skb); | 4599 | __kfree_skb(skb); |
| @@ -4633,6 +4634,7 @@ static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb) | |||
| 4633 | skb->encapsulation = 0; | 4634 | skb->encapsulation = 0; |
| 4634 | skb_shinfo(skb)->gso_type = 0; | 4635 | skb_shinfo(skb)->gso_type = 0; |
| 4635 | skb->truesize = SKB_TRUESIZE(skb_end_offset(skb)); | 4636 | skb->truesize = SKB_TRUESIZE(skb_end_offset(skb)); |
| 4637 | secpath_reset(skb); | ||
| 4636 | 4638 | ||
| 4637 | napi->skb = skb; | 4639 | napi->skb = skb; |
| 4638 | } | 4640 | } |
