[PATCH net v3 0/2] net/rds: scope-aware sendmsg connection cache
HOTtoday
From: Allison Henderson <achender@kernel.org>
Date: 2026-10-03 16:35:27
Also in:
linux-rdma
Hi all, This is v3 of the sendmsg connection-cache scope fix (v1 at [1], v2 at [2]), now two patches. Patch 1 gives the connected peer's link-local scope its own field. rds_connect() used to store it in rs_bound_scope_id, the scope of the socket's own bound address, which a later bind() to a non-link-local address resets to 0 and which a later connect() pollutes for a globally bound socket. A send without a destination now takes its scope from the connected peer's field, and rds_bind()'s connected-socket check compares against it. Patch 2 compares c_dev_if with the request's scope in the cache-hit test, so the cache uses the same key as rds_conn_lookup(). Changes since v2 [2]: - The v2 "scope 0 matches anything" wildcard is gone: it sent a connected socket's traffic out whichever interface the socket last used explicitly (review of v2). Instead the destination-less send carries the connected peer's scope (new patch 1), and the comparison is exact. - Rebased onto current net. Changes since v1 [1]: - A request without a scope kept matching the cached connection (superseded by the above). [1] https://lore.kernel.org/netdev/20260921215046.174745-1-achender@kernel.org/ (local) [2] https://lore.kernel.org/netdev/20260927062312.169097-1-achender@kernel.org/ (local) Thank you, Allison Allison Henderson (2): net/rds: keep the connected peer's scope id apart from the bound one net/rds: include the scope id in the sendmsg connection cache check net/rds/af_rds.c | 12 ++++++++---- net/rds/bind.c | 4 ++-- net/rds/rds.h | 2 ++ net/rds/send.c | 5 +++-- 4 files changed, 15 insertions(+), 8 deletions(-) -- 2.25.1