diff --git a/net/core/skbuff.c b/net/core/skbuff.c index d9c19ae05fe6..9460998ac6d1 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -2313,6 +2313,9 @@ void *__pskb_pull_tail(struct sk_buff *skb, int delta) insp = list; } else { /* Eaten partially. */ + if (skb_is_gso(skb) && !list->head_frag && + skb_headlen(list)) + skb_shinfo(skb)->gso_type |= SKB_GSO_DODGY; if (skb_shared(list)) { /* Sucks! We need to fork list. :-( */