Skip to content

Commit 71faef8

Browse files
committed
net: replace calls to sock->ops->connect() with kernel_connect()
jira LE-1907 Rebuild_History Non-Buildable kernel-5.14.0-427.31.1.el9_4 commit-author Jordan Rife <jrife@google.com> commit 26297b4 commit 0bdf399 ("net: Avoid address overwrite in kernel_connect") ensured that kernel_connect() will not overwrite the address parameter in cases where BPF connect hooks perform an address rewrite. This change replaces direct calls to sock->ops->connect() in net with kernel_connect() to make these call safe. Link: https://lore.kernel.org/netdev/20230912013332.2048422-1-jrife@google.com/ Fixes: d74bad4 ("bpf: Hooks for sys_connect") Cc: stable@vger.kernel.org Reviewed-by: Willem de Bruijn <willemb@google.com> Signed-off-by: Jordan Rife <jrife@google.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 26297b4) Signed-off-by: Jonathan Maple <jmaple@ciq.com>
1 parent 6dd7291 commit 71faef8

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

net/netfilter/ipvs/ip_vs_sync.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1507,8 +1507,8 @@ static int make_send_sock(struct netns_ipvs *ipvs, int id,
15071507
}
15081508

15091509
get_mcast_sockaddr(&mcast_addr, &salen, &ipvs->mcfg, id);
1510-
result = sock->ops->connect(sock, (struct sockaddr *) &mcast_addr,
1511-
salen, 0);
1510+
result = kernel_connect(sock, (struct sockaddr *)&mcast_addr,
1511+
salen, 0);
15121512
if (result < 0) {
15131513
pr_err("Error connecting to the multicast addr\n");
15141514
goto error;

net/rds/tcp_connect.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ int rds_tcp_conn_path_connect(struct rds_conn_path *cp)
170170
* own the socket
171171
*/
172172
rds_tcp_set_callbacks(sock, cp);
173-
ret = sock->ops->connect(sock, addr, addrlen, O_NONBLOCK);
173+
ret = kernel_connect(sock, addr, addrlen, O_NONBLOCK);
174174

175175
rdsdebug("connect to address %pI6c returned %d\n", &conn->c_faddr, ret);
176176
if (ret == -EINPROGRESS)

0 commit comments

Comments
 (0)