]> git.baikalelectronics.ru Git - kernel.git/commit
udp: properly flush normal packet at GRO time
authorPaolo Abeni <pabeni@redhat.com>
Fri, 2 Jul 2021 22:38:43 +0000 (00:38 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Jul 2021 23:19:14 +0000 (16:19 -0700)
commit7fd25b1fae60b71d432cdd52a458d9394764dc1c
treeb09c16bdf085480edfe70d7f790d2b3fbedffe3e
parentcd553512af1614cb67d5e08a80fbffb588b9d9b9
udp: properly flush normal packet at GRO time

If an UDP packet enters the GRO engine but is not eligible
for aggregation and is not targeting an UDP tunnel,
udp_gro_receive() will not set the flush bit, and packet
could delayed till the next napi flush.

Fix the issue ensuring non GROed packets traverse
skb_gro_flush_final().

Reported-and-tested-by: Matthias Treydte <mt@waldheinz.de>
Fixes: e511ff7d416f ("udp: skip L4 aggregation for UDP tunnel packets")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/udp_offload.c