From: Craig Gallek <kr...@google.com> Recent changes to the datastructures associated with SO_REUSEPORT broke an existing behavior when equivalent SO_REUSEPORT sockets are created using both AF_INET and AF_INET6. This patch series restores the previous behavior and includes a test to validate it.
This series should be a trivial merge to stable kernels (if deemed necessary), but will have conflicts in net-next. The following patches recently replaced the use of hlist_nulls with hlists for UDP and TCP socket lists: ca065d0cf80f ("udp: no longer use SLAB_DESTROY_BY_RCU") 3b24d854cb35 ("tcp/dccp: do not touch listener sk_refcnt under synflood") If this series is accepted, I will send an RFC for the net-next change to assist with the merge. Craig Gallek (2): soreuseport: fix ordering for mixed v4/v6 sockets soreuseport: test mixed v4/v6 sockets include/linux/rculist_nulls.h | 39 ++++ include/net/sock.h | 6 +- net/ipv4/udp.c | 9 +- tools/testing/selftests/net/.gitignore | 1 + tools/testing/selftests/net/Makefile | 2 +- tools/testing/selftests/net/reuseport_dualstack.c | 208 ++++++++++++++++++++++ 6 files changed, 261 insertions(+), 4 deletions(-) create mode 100644 tools/testing/selftests/net/reuseport_dualstack.c -- 2.8.0.rc3.226.g39d4020