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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220511233757.2001218-1-eric.dumazet@gmail.com>
Date:   Wed, 11 May 2022 16:37:47 -0700
From:   Eric Dumazet <eric.dumazet@...il.com>
To:     "David S . Miller" <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>
Cc:     netdev <netdev@...r.kernel.org>,
        Eric Dumazet <edumazet@...gle.com>,
        Eric Dumazet <eric.dumazet@...il.com>
Subject: [PATCH net-next 00/10] net: add annotations for sk->sk_bound_dev_if

From: Eric Dumazet <edumazet@...gle.com>

While writes on sk->sk_bound_dev_if are protected by socket lock,
we have many lockless reads all over the places.

This is based on syzbot report found in the first patch changelog.

Eric Dumazet (10):
  net: annotate races around sk->sk_bound_dev_if
  sctp: read sk->sk_bound_dev_if once in sctp_rcv()
  tcp: sk->sk_bound_dev_if once in inet_request_bound_dev_if()
  net: core: add READ_ONCE/WRITE_ONCE annotations for
    sk->sk_bound_dev_if
  dccp: use READ_ONCE() to read sk->sk_bound_dev_if
  inet: add READ_ONCE(sk->sk_bound_dev_if) in inet_csk_bind_conflict()
  net_sched: em_meta: add READ_ONCE() in var_sk_bound_if()
  l2tp: use add READ_ONCE() to fetch sk->sk_bound_dev_if
  ipv6: add READ_ONCE(sk->sk_bound_dev_if) in INET6_MATCH()
  inet: add READ_ONCE(sk->sk_bound_dev_if) in INET_MATCH()

 include/net/inet6_hashtables.h  | 25 +++++++++++-----
 include/net/inet_hashtables.h   | 52 ++++++++++++++++++++++++---------
 include/net/inet_sock.h         |  5 ++--
 include/net/ip.h                |  2 +-
 include/net/sock.h              |  5 ++--
 net/core/sock.c                 | 11 ++++---
 net/dccp/ipv4.c                 |  2 +-
 net/dccp/ipv6.c                 |  4 +--
 net/ipv4/inet_connection_sock.c | 12 +++++---
 net/ipv6/datagram.c             |  6 ++--
 net/ipv6/udp.c                  | 11 +++----
 net/l2tp/l2tp_ip.c              |  4 ++-
 net/l2tp/l2tp_ip6.c             |  8 +++--
 net/sched/em_meta.c             |  7 +++--
 net/sctp/input.c                |  4 ++-
 15 files changed, 105 insertions(+), 53 deletions(-)

-- 
2.36.0.512.ge40c2bad7a-goog

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ