mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
net: Convert proto_ops connect() callbacks to use sockaddr_unsized
Update all struct proto_ops connect() 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-3-kees@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
0e50474fa5
commit
85cb0757d7
@@ -995,7 +995,7 @@ vsock_bind(struct socket *sock, struct sockaddr_unsized *addr, int addr_len)
|
||||
|
||||
sk = sock->sk;
|
||||
|
||||
if (vsock_addr_cast((struct sockaddr *)addr, addr_len, &vm_addr) != 0)
|
||||
if (vsock_addr_cast(addr, addr_len, &vm_addr) != 0)
|
||||
return -EINVAL;
|
||||
|
||||
lock_sock(sk);
|
||||
@@ -1328,7 +1328,7 @@ out:
|
||||
}
|
||||
|
||||
static int vsock_dgram_connect(struct socket *sock,
|
||||
struct sockaddr *addr, int addr_len, int flags)
|
||||
struct sockaddr_unsized *addr, int addr_len, int flags)
|
||||
{
|
||||
int err;
|
||||
struct sock *sk;
|
||||
@@ -1528,7 +1528,7 @@ static void vsock_connect_timeout(struct work_struct *work)
|
||||
sock_put(sk);
|
||||
}
|
||||
|
||||
static int vsock_connect(struct socket *sock, struct sockaddr *addr,
|
||||
static int vsock_connect(struct socket *sock, struct sockaddr_unsized *addr,
|
||||
int addr_len, int flags)
|
||||
{
|
||||
int err;
|
||||
|
||||
@@ -57,7 +57,7 @@ bool vsock_addr_equals_addr(const struct sockaddr_vm *addr,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vsock_addr_equals_addr);
|
||||
|
||||
int vsock_addr_cast(const struct sockaddr *addr,
|
||||
int vsock_addr_cast(const struct sockaddr_unsized *addr,
|
||||
size_t len, struct sockaddr_vm **out_addr)
|
||||
{
|
||||
if (len < sizeof(**out_addr))
|
||||
|
||||
Reference in New Issue
Block a user