diff --git a/net/core/gro.c b/net/core/gro.c index 616b34275e35..e9ed98dc628d 100644 --- a/net/core/gro.c +++ b/net/core/gro.c @@ -232,7 +232,9 @@ done: int skb_gro_receive_list(struct sk_buff *p, struct sk_buff *skb) { - if (unlikely(p->len + skb->len >= 65536)) + /* make sure to check flush flag and to not merge */ + if (unlikely(p->len + skb->len >= 65536 || + NAPI_GRO_CB(skb)->flush)) return -E2BIG; if (NAPI_GRO_CB(p)->last == p)