lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ