[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220601201434.1710931-1-joannekoong@fb.com>
Date: Wed, 1 Jun 2022 13:14:32 -0700
From: Joanne Koong <joannekoong@...com>
To: <netdev@...r.kernel.org>, <bpf@...r.kernel.org>
CC: <edumazet@...gle.com>, <kafai@...com>, <kuba@...nel.org>,
<davem@...emloft.net>, <pabeni@...hat.com>,
<testing@...r.kernel.org>, Joanne Koong <joannelkoong@...il.com>
Subject: [PATCH net-next v1 resend 0/2] Update bhash2 when socket's rcv saddr changes
From: Joanne Koong <joannelkoong@...il.com>
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/
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 | 69 ++++++++++++++--
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, 180 insertions(+), 18 deletions(-)
create mode 100644 tools/testing/selftests/net/sk_bind_sendto_listen.c
--
2.30.2
Powered by blists - more mailing lists