[Devel] [PATCH vz10 6/6] ms/selftest: net: fix socklen_t type mismatch in sctp_collision test

Vasileios Almpanis vasileios.almpanis at virtuozzo.com
Tue Mar 24 18:12:32 MSK 2026


Reviewed-by: Vasileios Almpanis <vasileios.almpanis at virtuozzo.com>

On 3/23/26 9:30 PM, Konstantin Khorenko wrote:
> From: Ankit Khushwaha <ankitkhushwaha.linux at gmail.com>
>
> Socket APIs like recvfrom(), accept(), and getsockname() expect socklen_t*
> arg, but tests were using int variables. This causes -Wpointer-sign
> warnings on platforms where socklen_t is unsigned.
>
> Change the variable type from int to socklen_t to resolve the warning and
> ensure type safety across platforms.
>
> warning fixed:
>
> sctp_collision.c:62:70: warning: passing 'int *' to parameter of
> type 'socklen_t *' (aka 'unsigned int *') converts between pointers to
> integer types with different sign [-Wpointer-sign]
>     62 |                 ret = recvfrom(sd, buf, sizeof(buf),
> 									0, (struct sockaddr *)&daddr, &len);
>        |                                                           ^~~~
> /usr/include/sys/socket.h:165:27: note: passing argument to
> parameter '__addr_len' here
>    165 |                          socklen_t *__restrict __addr_len);
>        |                                                ^
>
> Reviewed-by: Muhammad Usama Anjum <usama.anjum at collabora.com>
> Signed-off-by: Ankit Khushwaha <ankitkhushwaha.linux at gmail.com>
> Reviewed-by: Simon Horman <horms at kernel.org>
> Link: https://patch.msgid.link/20251028172947.53153-1-ankitkhushwaha.linux@gmail.com
> Signed-off-by: Jakub Kicinski <kuba at kernel.org>
>
> (cherry picked from commit afb8f6567a5b4bb4e673608048939fef854b8709)
> Applied cleanly.
>
> https://virtuozzo.atlassian.net/browse/VSTOR-127529
> Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
>
> Feature: fix selftests
> ---
>   tools/testing/selftests/net/netfilter/sctp_collision.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/net/netfilter/sctp_collision.c b/tools/testing/selftests/net/netfilter/sctp_collision.c
> index 21bb1cfd8a85..b282d1785c9b 100644
> --- a/tools/testing/selftests/net/netfilter/sctp_collision.c
> +++ b/tools/testing/selftests/net/netfilter/sctp_collision.c
> @@ -9,9 +9,10 @@
>   int main(int argc, char *argv[])
>   {
>   	struct sockaddr_in saddr = {}, daddr = {};
> -	int sd, ret, len = sizeof(daddr);
> +	socklen_t len = sizeof(daddr);
>   	struct timeval tv = {25, 0};
>   	char buf[] = "hello";
> +	int sd, ret;
>   
>   	if (argc != 6 || (strcmp(argv[1], "server") && strcmp(argv[1], "client"))) {
>   		printf("%s <server|client> <LOCAL_IP> <LOCAL_PORT> <REMOTE_IP> <REMOTE_PORT>\n",


More information about the Devel mailing list