mbox series

[0/5] tcp/md5: Generic tcp_sig_pool

Message ID 20211105014953.972946-1-dima@arista.com (mailing list archive)
Headers show
Series tcp/md5: Generic tcp_sig_pool | expand

Message

Dmitry Safonov Nov. 5, 2021, 1:49 a.m. UTC
3 small fixes for unlikely issues.

The last patch adds tcp_sig_pool, which can be used to manage ahashes
besides md5 algorythm. It reuses tcp_md5sig_pool code and in my view is
a better alternative to [1] proposal, which uses shash for hasing
segments and frags. This also doesn't need introduction of an enum with
supported algorythms, which makes it possible to supply any
crypto-supported hashing algorythm from socket option syscall (like
struct xfrm_algo does in ipsec), reducing needless kernel code.

[1]: https://lore.kernel.org/all/5245f35901015acc6a41d1da92deb96f3e593b7c.1635784253.git.cdleonard@gmail.com/T/#u

Cc: Andy Lutomirski <luto@amacapital.net>
Cc: David Ahern <dsahern@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Francesco Ruggeri <fruggeri@arista.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: Leonard Crestez <cdleonard@gmail.com>
Cc: linux-crypto@vger.kernel.org
Cc: netdev@vger.kernel.org

Dmitry Safonov (5):
  tcp/md5: Don't BUG_ON() failed kmemdup()
  tcp/md5: Don't leak ahash in OOM
  tcp/md5: Alloc tcp_md5sig_pool only in setsockopt()
  tcp/md5: Use tcp_md5sig_pool_* naming scheme
  tcp/md5: Make more generic tcp_sig_pool

 include/net/tcp.h        |  23 +++--
 net/ipv4/tcp.c           | 193 ++++++++++++++++++++++++++++-----------
 net/ipv4/tcp_ipv4.c      |  45 ++++-----
 net/ipv4/tcp_minisocks.c |   5 +-
 net/ipv6/tcp_ipv6.c      |  43 +++++----
 5 files changed, 207 insertions(+), 102 deletions(-)


base-commit: 8a796a1dfca2780321755033a74bca2bbe651680