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@xxxxxxxxx/T/#u Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Francesco Ruggeri <fruggeri@xxxxxxxxxx> Cc: Jakub Kicinski <kuba@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx> Cc: Leonard Crestez <cdleonard@xxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx 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 -- 2.33.1