Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

net: core: Convert inet_addr_is_any() to sockaddr_storage

All the callers of inet_addr_is_any() have a sockaddr_storage-backed
sockaddr. Avoid casts and switch prototype to the actual object being
used.

Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> # SCSI
Signed-off-by: Kees Cook <kees@kernel.org>
Link: https://patch.msgid.link/20250521204619.2301870-1-kees@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Kees Cook and committed by
Paolo Abeni
ed449ddb 5bccdc51

+8 -8
+1 -1
drivers/nvme/target/rdma.c
··· 1999 1999 struct nvmet_rdma_port *port = nport->priv; 2000 2000 struct rdma_cm_id *cm_id = port->cm_id; 2001 2001 2002 - if (inet_addr_is_any((struct sockaddr *)&cm_id->route.addr.src_addr)) { 2002 + if (inet_addr_is_any(&cm_id->route.addr.src_addr)) { 2003 2003 struct nvmet_rdma_rsp *rsp = 2004 2004 container_of(req, struct nvmet_rdma_rsp, req); 2005 2005 struct rdma_cm_id *req_cm_id = rsp->queue->cm_id;
+1 -1
drivers/nvme/target/tcp.c
··· 2194 2194 { 2195 2195 struct nvmet_tcp_port *port = nport->priv; 2196 2196 2197 - if (inet_addr_is_any((struct sockaddr *)&port->addr)) { 2197 + if (inet_addr_is_any(&port->addr)) { 2198 2198 struct nvmet_tcp_cmd *cmd = 2199 2199 container_of(req, struct nvmet_tcp_cmd, req); 2200 2200 struct nvmet_tcp_queue *queue = cmd->queue;
+1 -1
drivers/target/iscsi/iscsi_target.c
··· 3419 3419 } 3420 3420 } 3421 3421 3422 - if (inet_addr_is_any((struct sockaddr *)&np->np_sockaddr)) 3422 + if (inet_addr_is_any(&np->np_sockaddr)) 3423 3423 sockaddr = &conn->local_sockaddr; 3424 3424 else 3425 3425 sockaddr = &np->np_sockaddr;
+1 -1
include/linux/inet.h
··· 55 55 56 56 extern int inet_pton_with_scope(struct net *net, unsigned short af, 57 57 const char *src, const char *port, struct sockaddr_storage *addr); 58 - extern bool inet_addr_is_any(struct sockaddr *addr); 58 + bool inet_addr_is_any(struct sockaddr_storage *addr); 59 59 60 60 #endif /* _LINUX_INET_H */
+4 -4
net/core/utils.c
··· 399 399 } 400 400 EXPORT_SYMBOL(inet_pton_with_scope); 401 401 402 - bool inet_addr_is_any(struct sockaddr *addr) 402 + bool inet_addr_is_any(struct sockaddr_storage *addr) 403 403 { 404 - if (addr->sa_family == AF_INET6) { 404 + if (addr->ss_family == AF_INET6) { 405 405 struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)addr; 406 406 const struct sockaddr_in6 in6_any = 407 407 { .sin6_addr = IN6ADDR_ANY_INIT }; ··· 409 409 if (!memcmp(in6->sin6_addr.s6_addr, 410 410 in6_any.sin6_addr.s6_addr, 16)) 411 411 return true; 412 - } else if (addr->sa_family == AF_INET) { 412 + } else if (addr->ss_family == AF_INET) { 413 413 struct sockaddr_in *in = (struct sockaddr_in *)addr; 414 414 415 415 if (in->sin_addr.s_addr == htonl(INADDR_ANY)) 416 416 return true; 417 417 } else { 418 - pr_warn("unexpected address family %u\n", addr->sa_family); 418 + pr_warn("unexpected address family %u\n", addr->ss_family); 419 419 } 420 420 421 421 return false;