]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests/net: Replace non-standard __WORDSIZE with sizeof(long) * 8
authorWake Liu <wakel@google.com>
Thu, 7 Aug 2025 08:09:32 +0000 (16:09 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:34:10 +0000 (15:34 -0500)
[ Upstream commit c36748e8733ef9c5f4cd1d7c4327994e5b88b8df ]

The `__WORDSIZE` macro, defined in the non-standard `<bits/wordsize.h>`
header, is a GNU extension and not universally available with all
toolchains, such as Clang when used with musl libc.

This can lead to build failures in environments where this header is
missing.

The intention of the code is to determine the bit width of a C `long`.
Replace the non-portable `__WORDSIZE` with the standard and portable
`sizeof(long) * 8` expression to achieve the same result.

This change also removes the inclusion of the now-unused
`<bits/wordsize.h>` header.

Signed-off-by: Wake Liu <wakel@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/net/psock_tpacket.c

index 404a2ce759ab614f74a76f7b58f712c7ddf16867..93092d13b3c592038318fca8c2d5059a6f70a2e4 100644 (file)
@@ -33,7 +33,6 @@
 #include <ctype.h>
 #include <fcntl.h>
 #include <unistd.h>
-#include <bits/wordsize.h>
 #include <net/ethernet.h>
 #include <netinet/ip.h>
 #include <arpa/inet.h>
@@ -785,7 +784,7 @@ static int test_kernel_bit_width(void)
 
 static int test_user_bit_width(void)
 {
-       return __WORDSIZE;
+       return sizeof(long) * 8;
 }
 
 static const char *tpacket_str[] = {