[PATCH net-next 0/4] net/rds: Bug fix ports, part 2
From: Allison Henderson <achender@kernel.org>
Date: 2026-08-06 07:20:46
Also in:
linux-rdma
Hi all,
This is the next batch of net/rds fixes ported from the Oracle UEK
kernel, following up on the first set now in net-next [1]. As
discussed on the previous series, these target net-next since the
bugs are pretty old and could probably use the longer cycle.
Patches 3 and 4 close a teardown race that UEK fixed after a long
tail of failover crashes: quiescing the transmit path by *sampling*
the RDS_IN_XMIT/RDS_RECV_REFILL bits clear instead of acquiring them
is a store-buffering pattern. So on weakly ordered arches,
rds_send_xmit() can run concurrently with connection teardown
resetting the transmit state under it. Patch 3 makes
rds_conn_shutdown() take the bit locks. Patch 4 does the same for
the only other rds_send_path_reset() call site in
rds_tcp_reset_callbacks().
Patches 1 and 2 are small initialization hardening ports from the
same UEK series. re-initialize rds_send_xmit()'s to_be_dropped
list on its restart path, and initialize i_conn_path in
rds_inc_init() so both inc init helpers leave an equivalent,
fully-initialized structure. Neither has a known user-visible bug
upstream.
[PATCH net 1/4] net/rds: reinitialize to_be_dropped on rds_send_xmit() restart
Port commit 7f52b9968d79 ("net/rds: rds_send_xmit should INIT_LIST_HEAD (&to_be_dropped) on restart")
https://github.com/oracle/linux-uek/commit/7f52b9968d79
[PATCH net 2/4] net/rds: initialize i_conn_path in rds_inc_init()
Port commit 0ec6a520da4f ("rds: rds_inc_init() should initialize the inc->i_conn_path field")
https://github.com/oracle/linux-uek/commit/0ec6a520da4f
[PATCH net 3/4] net/rds: acquire the fastpath locks in rds_conn_shutdown()
Port commit 2b8aaa4f163b ("rds: Make sure transmit path and connection tear-down does not run concurrently")
https://github.com/oracle/linux-uek/commit/2b8aaa4f163b
[PATCH net 4/4] net/rds: acquire RDS_IN_XMIT in rds_tcp_reset_callbacks()
Extend the last port to cover extra call sites in rds_tcp_reset_callbacks()
Questions and comments appreciated!
Thanks,
Allison
[1] https://lore.kernel.org/netdev/20260730041629.3512480-1-achender@kernel.org/ (local)
Allison Henderson (1):
net/rds: acquire RDS_IN_XMIT in rds_tcp_reset_callbacks()
Håkon Bugge (1):
net/rds: acquire the fastpath locks in rds_conn_shutdown()
Sharath Srinivasan (1):
net/rds: reinitialize to_be_dropped on rds_send_xmit() restart
William Kucharski (1):
net/rds: initialize i_conn_path in rds_inc_init()
net/rds/connection.c | 22 ++++++++++++++++++++--
net/rds/recv.c | 1 +
net/rds/send.c | 6 ++++++
net/rds/tcp.c | 15 ++++++++++++++-
4 files changed, 41 insertions(+), 3 deletions(-)
base-commit: b0057c68df711bf6a62033c072ac61c4f9d3cbc1
--
2.25.1