All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: Dan Akunis <dan.akunis@gmail.com>
Cc: labbott@redhat.com, David Miller <davem@davemloft.net>,
	kuznet@ms2.inr.ac.ru, jmorris@namei.org, yoshfuji@linux-ipv6.org,
	kaber@trash.net, samanthakumar@google.com, willemb@google.com,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [REGRESSION] Select hang with zero sized UDP packets
Date: Wed, 24 Aug 2016 06:02:15 -0700	[thread overview]
Message-ID: <1472043735.14381.69.camel@edumazet-glaptop3.roam.corp.google.com> (raw)
In-Reply-To: <2ABF798B42E64D9C89DEB806A2E636B5@mtl.com>

On Wed, 2016-08-24 at 11:22 +0300, Dan Akunis wrote:
> When select wakes up on a UDP socket, user is expecting to get data. Getting 
> 0 from recvfrom() or whatever read function she uses, is a wrong attitude.
> I agree with David.
> 
> The unit test that expects select to wake up is wrong and should be changed.
> 

Please do not top post on netdev mailing list.

Program is fine and wont be changed to work around a kernel bug.

We definitely can send and receive UDP messages with 0 payload.

So select() should unblock when one such frame is received, otherwise
you could fill up the receive queue with a lot of frames like that and
when SO_RCVBUF limit is reached, block future messages.

UDP is a datagram protocol.

Bug fix is merged :
https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=e83c6744e81abc93a20d0eb3b7f504a176a6126a

  reply	other threads:[~2016-08-24 13:02 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-23 17:53 [REGRESSION] Select hang with zero sized UDP packets Laura Abbott
2016-08-23 18:25 ` David Miller
2016-08-23 19:03   ` Eric Dumazet
2016-08-23 20:06     ` Laura Abbott
2016-08-23 20:42       ` Eric Dumazet
2016-08-23 20:53       ` [PATCH net] udp: fix poll() issue with zero sized packets Eric Dumazet
2016-08-23 20:56         ` Eric Dumazet
2016-08-23 20:59         ` [PATCH v2 " Eric Dumazet
2016-08-23 23:39           ` David Miller
2016-08-24  8:22   ` [REGRESSION] Select hang with zero sized UDP packets Dan Akunis
2016-08-24 13:02     ` Eric Dumazet [this message]
2016-08-24 13:42     ` One Thousand Gnomes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1472043735.14381.69.camel@edumazet-glaptop3.roam.corp.google.com \
    --to=eric.dumazet@gmail.com \
    --cc=dan.akunis@gmail.com \
    --cc=davem@davemloft.net \
    --cc=jmorris@namei.org \
    --cc=kaber@trash.net \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=labbott@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=samanthakumar@google.com \
    --cc=willemb@google.com \
    --cc=yoshfuji@linux-ipv6.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.