udp: fix GRO reception in case of length mismatch
authorPaolo Abeni <pabeni@redhat.com>
Fri, 26 Apr 2019 10:50:44 +0000 (12:50 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 28 Apr 2019 02:07:24 +0000 (22:07 -0400)
commit21f1b8a6636c4dbde4aa1ec0343f42eaf653ffcc
tree33d35206b298bec0f5f6cc43d52f392c966b6d07
parentfbef9478ff2266593a4ff45ff770a68d908bae8b
udp: fix GRO reception in case of length mismatch

Currently, the UDP GRO code path does bad things on some edge
conditions - Aggregation can happen even on packet with different
lengths.

Fix the above by rewriting the 'complete' condition for GRO
packets. While at it, note explicitly that we allow merging the
first packet per burst below gso_size.

Reported-by: Sean Tong <seantong114@gmail.com>
Fixes: e20cf8d3f1f7 ("udp: implement GRO for plain UDP sockets.")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/udp_offload.c