diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 5dcdbffdee49..0186fbe06281 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -1693,6 +1693,9 @@ unsigned char *__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. :-( */