mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -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
@@ -1457,12 +1457,12 @@ static int rpc_sockname(struct net *net, struct sockaddr *sap, size_t salen,
|
||||
switch (sap->sa_family) {
|
||||
case AF_INET:
|
||||
err = kernel_bind(sock,
|
||||
(struct sockaddr *)&rpc_inaddr_loopback,
|
||||
(struct sockaddr_unsized *)&rpc_inaddr_loopback,
|
||||
sizeof(rpc_inaddr_loopback));
|
||||
break;
|
||||
case AF_INET6:
|
||||
err = kernel_bind(sock,
|
||||
(struct sockaddr *)&rpc_in6addr_loopback,
|
||||
(struct sockaddr_unsized *)&rpc_in6addr_loopback,
|
||||
sizeof(rpc_in6addr_loopback));
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -1557,7 +1557,7 @@ static struct svc_xprt *svc_create_socket(struct svc_serv *serv,
|
||||
ip6_sock_set_v6only(sock->sk);
|
||||
if (type == SOCK_STREAM)
|
||||
sock->sk->sk_reuse = SK_CAN_REUSE; /* allow address reuse */
|
||||
error = kernel_bind(sock, sin, len);
|
||||
error = kernel_bind(sock, (struct sockaddr_unsized *)sin, len);
|
||||
if (error < 0)
|
||||
goto bummer;
|
||||
|
||||
|
||||
@@ -1845,8 +1845,8 @@ static int xs_bind(struct sock_xprt *transport, struct socket *sock)
|
||||
memcpy(&myaddr, &transport->srcaddr, transport->xprt.addrlen);
|
||||
do {
|
||||
rpc_set_port((struct sockaddr *)&myaddr, port);
|
||||
err = kernel_bind(sock, (struct sockaddr *)&myaddr,
|
||||
transport->xprt.addrlen);
|
||||
err = kernel_bind(sock, (struct sockaddr_unsized *)&myaddr,
|
||||
transport->xprt.addrlen);
|
||||
if (err == 0) {
|
||||
if (transport->xprt.reuseport)
|
||||
transport->srcport = port;
|
||||
|
||||
Reference in New Issue
Block a user