[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220602165101.3188482-1-joannelkoong@gmail.com>
Date: Thu, 2 Jun 2022 09:50:59 -0700
From: Joanne Koong <joannelkoong@...il.com>
To: netdev@...r.kernel.org
Cc: edumazet@...gle.com, kafai@...com, kuba@...nel.org,
davem@...emloft.net, pabeni@...hat.com,
Joanne Koong <joannelkoong@...il.com>
Subject: [PATCH net-next v2 0/2] Update bhash2 when socket's rcv saddr changes
As syzbot noted [1], there is an inconsistency in the bhash2 table in the
case where a socket's rcv saddr changes after it is binded. (For more
details, please see the commit message of the first patch)
This patchset fixes that and adds a test that triggers the case where the
sk's rcv saddr changes. The subsequent listen() call should succeed.
[1] https://lore.kernel.org/netdev/0000000000003f33bc05dfaf44fe@google.com/
--
v1 -> v2:
v1: https://lore.kernel.org/netdev/20220601201434.1710931-1-joannekoong@fb.com/
* Mark __inet_bhash2_update_saddr as static
Joanne Koong (2):
net: Update bhash2 when socket's rcv saddr changes
selftests/net: Add sk_bind_sendto_listen test
include/net/inet_hashtables.h | 6 +-
include/net/ipv6.h | 2 +-
net/dccp/ipv4.c | 10 ++-
net/dccp/ipv6.c | 4 +-
net/ipv4/af_inet.c | 7 +-
net/ipv4/inet_hashtables.c | 70 ++++++++++++++--
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 +++++++++++++++++++
12 files changed, 181 insertions(+), 18 deletions(-)
create mode 100644 tools/testing/selftests/net/sk_bind_sendto_listen.c
--
2.30.2
Powered by blists - more mailing lists