--- x/net/core/skbuff.c +++ y/net/core/skbuff.c @@ -1105,7 +1105,9 @@ static void skb_release_data(struct sk_b int i; if (!skb_data_unref(skb, shinfo)) - goto exit; + return; + if (test_and_set_bit(7, &shinfo->flags)) + return; if (skb_zcopy(skb)) { bool skip_unref = shinfo->flags & SKBFL_MANAGED_FRAG_REFS;