mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 20:32:04 +09:00
gro: Fix bogus gso_size on the first fraglist entry
commit 622e0ca1cd upstream.
When GRO produces fraglist entries, and the resulting skb hits
an interface that is incapable of TSO but capable of FRAGLIST,
we end up producing a bogus packet with gso_size non-zero.
This was reported in the field with older versions of KVM that
did not set the TSO bits on tuntap.
This patch fixes that.
Reported-by: Igor Zhang <yugzhang@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
cc760d4a88
commit
372ee0be3e
@@ -2730,6 +2730,7 @@ int skb_gro_receive(struct sk_buff **head, struct sk_buff *skb)
|
||||
*NAPI_GRO_CB(nskb) = *NAPI_GRO_CB(p);
|
||||
skb_shinfo(nskb)->frag_list = p;
|
||||
skb_shinfo(nskb)->gso_size = pinfo->gso_size;
|
||||
pinfo->gso_size = 0;
|
||||
skb_header_release(p);
|
||||
nskb->prev = p;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user