net: Drop secpath on free after gro merge.
authorSteffen Klassert <steffen.klassert@secunet.com>
Mon, 30 Jan 2017 05:45:38 +0000 (06:45 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Mon, 30 Jan 2017 05:45:38 +0000 (06:45 +0100)
With a followup patch, a gro merged skb can have a secpath.
So drop it before freeing or reusing the skb.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/core/dev.c

index 56818f7eab2be7f2e5c632b135f2e4e49f7e2c63..ef3a969477bfd9c707c67c5d7bf281eed04c7555 100644 (file)
@@ -4623,6 +4623,7 @@ static gro_result_t napi_skb_finish(gro_result_t ret, struct sk_buff *skb)
        case GRO_MERGED_FREE:
                if (NAPI_GRO_CB(skb)->free == NAPI_GRO_FREE_STOLEN_HEAD) {
                        skb_dst_drop(skb);
+                       secpath_reset(skb);
                        kmem_cache_free(skbuff_head_cache, skb);
                } else {
                        __kfree_skb(skb);
@@ -4663,6 +4664,7 @@ static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb)
        skb->encapsulation = 0;
        skb_shinfo(skb)->gso_type = 0;
        skb->truesize = SKB_TRUESIZE(skb_end_offset(skb));
+       secpath_reset(skb);
 
        napi->skb = skb;
 }