selftests/bpf: Workaround for older vm_sockets.h.
authorAlexei Starovoitov <ast@kernel.org>
Fri, 14 Apr 2023 02:54:17 +0000 (19:54 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 14 Apr 2023 02:54:17 +0000 (19:54 -0700)
Some distros ship with older vm_sockets.h that doesn't have VMADDR_CID_LOCAL
which causes selftests build to fail:
/tmp/work/bpf/bpf/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c:261:18: error: ‘VMADDR_CID_LOCAL’ undeclared (first use in this function); did you mean ‘VMADDR_CID_HOST’?
    261 |  addr->svm_cid = VMADDR_CID_LOCAL;
        |                  ^~~~~~~~~~~~~~~~
        |                  VMADDR_CID_HOST

Workaround this issue by defining it on demand.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/sockmap_listen.c

index 8f09e1e..141c1e5 100644 (file)
 #include <unistd.h>
 #include <linux/vm_sockets.h>
 
+/* workaround for older vm_sockets.h */
+#ifndef VMADDR_CID_LOCAL
+#define VMADDR_CID_LOCAL 1
+#endif
+
 #include <bpf/bpf.h>
 #include <bpf/libbpf.h>