lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2ABF798B42E64D9C89DEB806A2E636B5@mtl.com>
Date:   Wed, 24 Aug 2016 11:22:09 +0300
From:   "Dan Akunis" <dan.akunis@...il.com>
To:     <labbott@...hat.com>, "David Miller" <davem@...emloft.net>
Cc:     <kuznet@....inr.ac.ru>, <jmorris@...ei.org>,
        <yoshfuji@...ux-ipv6.org>, <kaber@...sh.net>,
        <samanthakumar@...gle.com>, <willemb@...gle.com>,
        <netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [REGRESSION] Select hang with zero sized UDP packets

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.

-----Original Message----- 
From: David Miller
Sent: Tuesday, August 23, 2016 9:25 PM
To: labbott@...hat.com
Cc: kuznet@....inr.ac.ru ; jmorris@...ei.org ; yoshfuji@...ux-ipv6.org ; 
kaber@...sh.net ; samanthakumar@...gle.com ; willemb@...gle.com ; 
netdev@...r.kernel.org ; linux-kernel@...r.kernel.org
Subject: Re: [REGRESSION] Select hang with zero sized UDP packets

From: Laura Abbott <labbott@...hat.com>
Date: Tue, 23 Aug 2016 10:53:26 -0700

> Fedora received a report[1] of a unit test failing on Ruby when using
> the
> 4.7 kernel. This was a test to send a zero sized UDP packet. With the
> 4.7 kernel, the test now timing out on a select instead of completing.
> The reduced ruby test is
>
>   def test_udp_recvfrom_nonblock
>     u1 = UDPSocket.new
>     u2 = UDPSocket.new
>     u1.bind("127.0.0.1", 0)
>     u2.send("", 0, u1.getsockname)
>     IO.select [u1]  # test gets stuck here
>   ensure
>     u1.close if u1
>     u2.close if u2
>   end

Well, if there is no data, should select really wake up?

I think it's valid not to. 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ