Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions drivers/wifi/eswifi/eswifi_socket_offload.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,8 @@ static int eswifi_socket_listen(void *obj, int backlog)
return ret;
}

void __eswifi_socket_accept_cb(struct net_context *context, struct sockaddr *addr,
size_t len, int val, void *data)
static void __eswifi_socket_accept_cb(struct net_context *context, struct sockaddr *addr,
socklen_t len, int val, void *data)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uint32_t is sufficient to represent any socket length, so rather than mixing up POSIX in drivers, I would suggest sticking to fixed-width integer types. That also mirrors what is done in the network subsystem.

Suggested change
socklen_t len, int val, void *data)
uint32_t len, int val, void *data)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function is used as a callback of type net_tcp_accept_cb_t. This is just the signature of that type.
I agree that using socklen_t in drivers is not nice, but to change that we'd need to change that callback type and all other users.
But this PR is just an immediate fix for the CI issue.

{
struct sockaddr *addr_target = data;

Expand Down
2 changes: 1 addition & 1 deletion subsys/net/lib/dns/dispatcher.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ static int recv_data(struct net_socket_service_event *pev)
socklen_t optlen = sizeof(int);
struct net_buf *dns_data = NULL;
struct sockaddr addr;
size_t addrlen;
socklen_t addrlen;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
socklen_t addrlen;
uint32_t addrlen;

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the pointer type zsock_recvfrom() expects.
Note socklen_t is already used in this same function.

int family, sock_error;
int ret = 0, len;

Expand Down
4 changes: 3 additions & 1 deletion subsys/net/lib/mqtt_sn/mqtt_sn_transport_udp.c
Original file line number Diff line number Diff line change
Expand Up @@ -213,12 +213,14 @@ static ssize_t tp_udp_recvfrom(struct mqtt_sn_client *client, void *buffer, size
struct mqtt_sn_transport_udp *udp = UDP_TRANSPORT(client->transport);
int rc;
struct sockaddr *srcaddr = src_addr;
socklen_t addrlen_local;

rc = zsock_recvfrom(udp->sock, buffer, length, 0, src_addr, addrlen);
rc = zsock_recvfrom(udp->sock, buffer, length, 0, src_addr, &addrlen_local);
LOG_DBG("recv %d", rc);
if (rc < 0) {
return -errno;
}
*addrlen = addrlen_local;

LOG_HEXDUMP_DBG(buffer, rc, "recv");

Expand Down
12 changes: 6 additions & 6 deletions subsys/tracing/ctf/ctf_top.c
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ void sys_trace_socket_accept_enter(int sock)
}

void sys_trace_socket_accept_exit(int sock, const struct sockaddr *addr,
const size_t *addrlen, int ret)
const uint32_t *addrlen, int ret)
{
ctf_net_bounded_string_t addr_str = { "unknown" };
uint32_t addr_len = 0U;
Expand All @@ -463,7 +463,7 @@ void sys_trace_socket_accept_exit(int sock, const struct sockaddr *addr,
}

void sys_trace_socket_sendto_enter(int sock, int len, int flags,
const struct sockaddr *dest_addr, size_t addrlen)
const struct sockaddr *dest_addr, uint32_t addrlen)
{
ctf_net_bounded_string_t addr_str = { "unknown" };

Expand Down Expand Up @@ -504,15 +504,15 @@ void sys_trace_socket_sendmsg_exit(int sock, int ret)
}

void sys_trace_socket_recvfrom_enter(int sock, int max_len, int flags,
struct sockaddr *addr, size_t *addrlen)
struct sockaddr *addr, uint32_t *addrlen)
{
ctf_top_socket_recvfrom_enter(sock, max_len, flags,
(uint32_t)(uintptr_t)addr,
(uint32_t)(uintptr_t)addrlen);
}

void sys_trace_socket_recvfrom_exit(int sock, const struct sockaddr *src_addr,
const size_t *addrlen, int ret)
const uint32_t *addrlen, int ret)
{
ctf_net_bounded_string_t addr_str = { "unknown" };
int len = 0;
Expand Down Expand Up @@ -631,7 +631,7 @@ void sys_trace_socket_getpeername_enter(int sock)
}

void sys_trace_socket_getpeername_exit(int sock, struct sockaddr *addr,
const size_t *addrlen, int ret)
const uint32_t *addrlen, int ret)
{
ctf_net_bounded_string_t addr_str;

Expand All @@ -647,7 +647,7 @@ void sys_trace_socket_getsockname_enter(int sock)
}

void sys_trace_socket_getsockname_exit(int sock, const struct sockaddr *addr,
const size_t *addrlen, int ret)
const uint32_t *addrlen, int ret)
{
ctf_net_bounded_string_t addr_str;

Expand Down
14 changes: 7 additions & 7 deletions subsys/tracing/ctf/tracing_ctf.h
Original file line number Diff line number Diff line change
Expand Up @@ -558,17 +558,17 @@ void sys_trace_socket_connect_exit(int sock, int ret);
void sys_trace_socket_listen_enter(int sock, int backlog);
void sys_trace_socket_listen_exit(int sock, int ret);
void sys_trace_socket_accept_enter(int sock);
void sys_trace_socket_accept_exit(int sock, const struct sockaddr *addr, const size_t *addrlen,
void sys_trace_socket_accept_exit(int sock, const struct sockaddr *addr, const uint32_t *addrlen,
int ret);
void sys_trace_socket_sendto_enter(int sock, int len, int flags, const struct sockaddr *dest_addr,
size_t addrlen);
uint32_t addrlen);
void sys_trace_socket_sendto_exit(int sock, int ret);
void sys_trace_socket_sendmsg_enter(int sock, const struct msghdr *msg, int flags);
void sys_trace_socket_sendmsg_exit(int sock, int ret);
void sys_trace_socket_recvfrom_enter(int sock, int max_len, int flags, struct sockaddr *addr,
size_t *addrlen);
uint32_t *addrlen);
void sys_trace_socket_recvfrom_exit(int sock, const struct sockaddr *src_addr,
const size_t *addrlen, int ret);
const uint32_t *addrlen, int ret);
void sys_trace_socket_recvmsg_enter(int sock, const struct msghdr *msg, int flags);
void sys_trace_socket_recvmsg_exit(int sock, const struct msghdr *msg, int ret);
void sys_trace_socket_fcntl_enter(int sock, int cmd, int flags);
Expand All @@ -584,11 +584,11 @@ void sys_trace_socket_setsockopt_enter(int sock, int level, int optname, const v
size_t optlen);
void sys_trace_socket_setsockopt_exit(int sock, int ret);
void sys_trace_socket_getpeername_enter(int sock);
void sys_trace_socket_getpeername_exit(int sock, struct sockaddr *addr, const size_t *addrlen,
void sys_trace_socket_getpeername_exit(int sock, struct sockaddr *addr, const uint32_t *addrlen,
int ret);
void sys_trace_socket_getsockname_enter(int sock);
void sys_trace_socket_getsockname_exit(int sock, const struct sockaddr *addr, const size_t *addrlen,
int ret);
void sys_trace_socket_getsockname_exit(int sock, const struct sockaddr *addr,
const uint32_t *addrlen, int ret);
void sys_trace_socket_socketpair_enter(int family, int type, int proto, int *sv);
void sys_trace_socket_socketpair_exit(int sock_A, int sock_B, int ret);

Expand Down
14 changes: 7 additions & 7 deletions tests/net/socket/udp/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2492,7 +2492,7 @@ static void check_ipv6_address_preferences(struct net_if *iface,
const struct in6_addr *dest)
{
const struct in6_addr *selected;
size_t optlen;
socklen_t optlen;
int optval;
int sock;
int ret;
Expand Down Expand Up @@ -2573,8 +2573,8 @@ ZTEST(net_socket_udp, test_38_ipv6_multicast_ifindex)
struct net_if_mcast_addr *ifmaddr;
struct net_if_addr *ifaddr;
int server_sock;
size_t addrlen;
size_t optlen;
socklen_t addrlen;
socklen_t optlen;
int ifindex;
int optval;
int sock;
Expand Down Expand Up @@ -2718,8 +2718,8 @@ ZTEST(net_socket_udp, test_39_ipv4_multicast_ifindex)
struct ip_mreq mreq;
struct net_if *iface;
int server_sock;
size_t addrlen;
size_t optlen;
socklen_t addrlen;
socklen_t optlen;
int ifindex;
int sock;
int ret;
Expand Down Expand Up @@ -2964,8 +2964,8 @@ static void check_port_range(struct sockaddr *my_addr,
{
sa_family_t family = AF_UNSPEC;
uint32_t optval;
size_t addr_len;
size_t optlen;
socklen_t addr_len;
socklen_t optlen;
int sock;
int ret, err;

Expand Down