netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joanne Koong <joannelkoong@gmail.com>
To: netdev@vger.kernel.org
Cc: edumazet@google.com, kafai@fb.com, kuba@kernel.org,
	davem@davemloft.net, pabeni@redhat.com,
	mathew.j.martineau@linux.intel.com,
	Joanne Koong <joannelkoong@gmail.com>
Subject: [PATCH net-next v3 0/3] bhash2 binding table fixups
Date: Fri, 10 Jun 2022 19:16:43 -0700	[thread overview]
Message-ID: <20220611021646.1578080-1-joannelkoong@gmail.com> (raw)

There are two fix-ups related to the bhash2 binding table in this
patchset:

1) Fixes an inconsistency in the bhash2 table in the case where a
socket's rcv saddr changes after it is binded.

2) Fixes the case where the bhash2 hashbucket is accessed concurrently
by sockets that hash to different bhash hashbuckets. To address this, the
bhash2 hashbucket has its own lock.

--
v2 -> v3:
v2:
https://lore.kernel.org/netdev/20220602165101.3188482-1-joannelkoong@gmail.com/
* Add a patch that adds bhash2 hashbucket locks

v1 -> v2:
v1:
https://lore.kernel.org/netdev/20220601201434.1710931-1-joannekoong@fb.com/
* Mark __inet_bhash2_update_saddr as static

Joanne Koong (3):
  net: Update bhash2 when socket's rcv saddr changes
  net: Add bhash2 hashbucket locks
  selftests/net: Add sk_bind_sendto_listen test

 include/net/inet_hashtables.h                 |  31 +++--
 include/net/ipv6.h                            |   2 +-
 net/dccp/ipv4.c                               |  10 +-
 net/dccp/ipv6.c                               |   4 +-
 net/dccp/proto.c                              |   3 +-
 net/ipv4/af_inet.c                            |   7 +-
 net/ipv4/inet_connection_sock.c               |  60 +++++----
 net/ipv4/inet_hashtables.c                    | 115 +++++++++++++-----
 net/ipv4/tcp.c                                |   7 +-
 net/ipv4/tcp_ipv4.c                           |   8 +-
 net/ipv6/inet6_hashtables.c                   |   4 +-
 net/ipv6/tcp_ipv6.c                           |   4 +-
 tools/testing/selftests/net/.gitignore        |   1 +
 tools/testing/selftests/net/Makefile          |   1 +
 .../selftests/net/sk_bind_sendto_listen.c     |  82 +++++++++++++
 15 files changed, 251 insertions(+), 88 deletions(-)
 create mode 100644 tools/testing/selftests/net/sk_bind_sendto_listen.c

-- 
2.30.2


             reply	other threads:[~2022-06-11  2:17 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-11  2:16 Joanne Koong [this message]
2022-06-11  2:16 ` [PATCH net-next v3 1/3] net: Update bhash2 when socket's rcv saddr changes Joanne Koong
2022-06-12  0:24   ` Kuniyuki Iwashima
2022-06-11  2:16 ` [PATCH net-next v3 2/3] net: Add bhash2 hashbucket locks Joanne Koong
2022-06-11 18:06   ` Eric Dumazet
2022-06-12  0:26   ` Kuniyuki Iwashima
2022-06-13 22:12   ` Mat Martineau
2022-06-14 14:12     ` Paolo Abeni
2022-06-14 18:08       ` Joanne Koong
2022-06-14 18:26         ` Eric Dumazet
2022-06-15  1:58         ` Jakub Kicinski
2022-06-11  2:16 ` [PATCH net-next v3 3/3] selftests/net: Add sk_bind_sendto_listen test Joanne Koong

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=20220611021646.1578080-1-joannelkoong@gmail.com \
    --to=joannelkoong@gmail.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kafai@fb.com \
    --cc=kuba@kernel.org \
    --cc=mathew.j.martineau@linux.intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).