mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-05 00:07:48 -04:00
net: Convert proto_ops bind() callbacks to use sockaddr_unsized
Update all struct proto_ops bind() callback function prototypes from "struct sockaddr *" to "struct sockaddr_unsized *" to avoid lying to the compiler about object sizes. Calls into struct proto handlers gain casts that will be removed in the struct proto conversion patch. No binary changes expected. Signed-off-by: Kees Cook <kees@kernel.org> Link: https://patch.msgid.link/20251104002617.2752303-2-kees@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
bf33247a90
commit
0e50474fa5
@@ -160,7 +160,7 @@ void rds_remove_bound(struct rds_sock *rs)
|
||||
rs->rs_bound_addr = in6addr_any;
|
||||
}
|
||||
|
||||
int rds_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
|
||||
int rds_bind(struct socket *sock, struct sockaddr_unsized *uaddr, int addr_len)
|
||||
{
|
||||
struct sock *sk = sock->sk;
|
||||
struct rds_sock *rs = rds_sk_to_rs(sk);
|
||||
|
||||
@@ -735,7 +735,7 @@ extern wait_queue_head_t rds_poll_waitq;
|
||||
|
||||
|
||||
/* bind.c */
|
||||
int rds_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len);
|
||||
int rds_bind(struct socket *sock, struct sockaddr_unsized *uaddr, int addr_len);
|
||||
void rds_remove_bound(struct rds_sock *rs);
|
||||
struct rds_sock *rds_find_bound(const struct in6_addr *addr, __be16 port,
|
||||
__u32 scope_id);
|
||||
|
||||
@@ -145,7 +145,7 @@ int rds_tcp_conn_path_connect(struct rds_conn_path *cp)
|
||||
addrlen = sizeof(sin);
|
||||
}
|
||||
|
||||
ret = kernel_bind(sock, addr, addrlen);
|
||||
ret = kernel_bind(sock, (struct sockaddr_unsized *)addr, addrlen);
|
||||
if (ret) {
|
||||
rdsdebug("bind failed with %d at address %pI6c\n",
|
||||
ret, &conn->c_laddr);
|
||||
|
||||
@@ -290,7 +290,7 @@ struct socket *rds_tcp_listen_init(struct net *net, bool isv6)
|
||||
addr_len = sizeof(*sin);
|
||||
}
|
||||
|
||||
ret = kernel_bind(sock, (struct sockaddr *)&ss, addr_len);
|
||||
ret = kernel_bind(sock, (struct sockaddr_unsized *)&ss, addr_len);
|
||||
if (ret < 0) {
|
||||
rdsdebug("could not bind %s listener socket: %d\n",
|
||||
isv6 ? "IPv6" : "IPv4", ret);
|
||||
|
||||
Reference in New Issue
Block a user