Skip to content
Snippets Groups Projects
Commit 161112a4 authored by Eric Dumazet's avatar Eric Dumazet Committed by Tasayco Loarte, VictorX
Browse files

UPSTREAM: udp: fix behavior of wrong checksums


We have two problems in UDP stack related to bogus checksums :

1) We return -EAGAIN to application even if receive queue is not empty.
   This breaks applications using edge trigger epoll()

2) Under UDP flood, we can loop forever without yielding to other
   processes, potentially hanging the host, especially on non SMP.

This patch is an attempt to make things better.

We might in the future add extra support for rt applications
wanting to better control time spent doing a recv() in a hostile
environment. For example we could validate checksums before queuing
packets in socket receive queue.

Bug:29507402

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
(cherry picked from commit beb39db5)

Bug: 31554728
Change-Id: I0096f0660d8951184f3a3b49a78702924f766cea
Tracked-On: https://jira01.devtools.intel.com/browse/AW-1795


Signed-off-by: default avatarVictor Tasayco Loarte <victorx.tasayco.loarte@intel.com>
parent fb02f4f0
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment