We have been testing the RDS-TCP code with a connection spammer that sends incoming SYNs to the RDS listen port well after an rds-tcp connection has been established, and found a few race-windows that are fixed by this patch series.
Patch 1 avoids a null pointer deref when an incoming SYN shows up when a netns is being dismantled, or when the rds-tcp module is being unloaded. Patch 2 addresses the case when a SYN is received after the connection arbitration algorithm has converged: the incoming SYN should not needlessly quiesce the transmit path, and it should not result in needless TCP connection resets due to re-execution of the connection arbitration logic. Sowmini Varadhan (2): RDS: TCP: rds_tcp_accept_worker() must exit gracefully when terminating rds-tcp RDS: TCP: Avoid rds connection churn from rogue SYNs net/rds/tcp_listen.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-)