]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net/rds: Kick-start TCP receiver after accept
authorGerd Rausch <gerd.rausch@oracle.com>
Tue, 3 Feb 2026 05:57:19 +0000 (22:57 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 5 Feb 2026 04:46:38 +0000 (20:46 -0800)
commitaa0cd656f03209733d941f0d27b4e68db4443a07
tree6c3be5005dd3dc3f7924b726615b3a78f2805785
parent826c1004d4aea60ee3f97de9eb25f8c489965c97
net/rds: Kick-start TCP receiver after accept

In cases where the server (the node with the higher IP-address)
in an RDS/TCP connection is overwhelmed it is possible that the
socket that was just accepted is chock-full of messages, up to
the limit of what the socket receive buffer permits.

Subsequently, "rds_tcp_data_ready" won't be called anymore,
because there is no more space to receive additional messages.

Nor was it called prior to the point of calling "rds_tcp_set_callbacks",
because the "sk_data_ready" pointer didn't even point to
"rds_tcp_data_ready" yet.

We fix this by simply kick-starting the receive-worker
for all cases where the socket state is neither
"TCP_CLOSE_WAIT" nor "TCP_CLOSE".

Signed-off-by: Gerd Rausch <gerd.rausch@oracle.com>
Signed-off-by: Allison Henderson <allison.henderson@oracle.com>
Link: https://patch.msgid.link/20260203055723.1085751-5-achender@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/rds/tcp_listen.c