Merge branch 'inet_csk_get_port-and-soreusport-fixes'
authorDavid S. Miller <davem@davemloft.net>
Sat, 17 Dec 2016 16:13:20 +0000 (11:13 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sat, 17 Dec 2016 16:13:20 +0000 (11:13 -0500)
commit28055c9710e7ab1479d018224be697f63eac2daa
treeddae48385faf13e6537d82b1f72cff8553456a9a
parent0eb6984f70005e792917d9e51142a57f79b32c91
parent0643ee4fd1b79c1af3bd7bc8968dbf5fd047f490
Merge branch 'inet_csk_get_port-and-soreusport-fixes'

Tom Herbert says:

====================
inet: Fixes for inet_csk_get_port and soreusport

This patch set fixes a couple of issues I noticed while debugging our
softlockup issue in inet_csk_get_port.

- Don't allow jump into port scan in inet_csk_get_port if function
  was called with non-zero port number (looking up explicit port
  number).
- When inet_csk_get_port is called with zero port number (ie. perform
  scan) an reuseport is set on the socket, don't match sockets that
  also have reuseport set. The intent from the user should be
  to get a new port number and then explictly bind other
  sockets to that number using soreuseport.

Tested:

Ran first patch on production workload with no ill effect.

For second patch, ran a little listener application and first
demonstrated that unbound sockets with soreuseport can indeed
be bound to unrelated soreuseport sockets.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>