Re: [PATCH] selftests/net: replace AF_MAX with INT_MAX in socket.c

From: shuah
Date: Mon Sep 16 2019 - 12:09:18 EST


On 9/16/19 9:03 AM, Marcelo Henrique Cerri wrote:
Use INT_MAX instead of AF_MAX, since libc might have a smaller value
of AF_MAX than the kernel, what causes the test to fail.

Signed-off-by: Marcelo Henrique Cerri <marcelo.cerri@xxxxxxxxxxxxx>
---
tools/testing/selftests/net/socket.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/socket.c b/tools/testing/selftests/net/socket.c
index afca1ead677f..10e75ba90124 100644
--- a/tools/testing/selftests/net/socket.c
+++ b/tools/testing/selftests/net/socket.c
@@ -6,6 +6,7 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
+#include <limits.h>
struct socket_testcase {
int domain;
@@ -24,7 +25,10 @@ struct socket_testcase {
};
static struct socket_testcase tests[] = {
- { AF_MAX, 0, 0, -EAFNOSUPPORT, 0 },
+ /* libc might have a smaller value of AF_MAX than the kernel
+ * actually supports, so use INT_MAX instead.
+ */
+ { INT_MAX, 0, 0, -EAFNOSUPPORT, 0 },
{ AF_INET, SOCK_STREAM, IPPROTO_TCP, 0, 1 },
{ AF_INET, SOCK_DGRAM, IPPROTO_TCP, -EPROTONOSUPPORT, 1 },
{ AF_INET, SOCK_DGRAM, IPPROTO_UDP, 0, 1 },


What failure are you seeing? It sounds arbitrary to use INT_MAX
instead of AF_MAX. I think it is important to understand the
failure first.

Please note that AF_MAX is widely used in the kernel.

thanks,
-- Shuah