tools/build: Remove bpf() run-time check at build time
authorBen Hutchings <ben@decadent.org.uk>
Sun, 21 Feb 2016 15:33:15 +0000 (15:33 +0000)
committerAurelien Jarno <aurel32@debian.org>
Fri, 2 Mar 2018 07:52:22 +0000 (07:52 +0000)
It is not correct to test that a syscall works on the build system's
kernel.  We might be building on an earlier kernel version or with
security restrictions that block bpf().

Also fix the test for whether __NR_bpf is defined.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name tools-build-remove-bpf-run-time-check-at-build-time.patch

tools/build/feature/test-bpf.c

index e04ab89a1013bdee0b4d0e1f887c00fa0f521aec..2b7ee7ce67e441981c737be41be795754a514c54 100644 (file)
@@ -9,6 +9,7 @@
 #  define __NR_bpf 321
 # elif defined(__aarch64__)
 #  define __NR_bpf 280
+# else
 #  error __NR_bpf not defined. libbpf does not support your arch.
 # endif
 #endif
@@ -27,9 +28,5 @@ int main(void)
        attr.log_level = 0;
        attr.kern_version = 0;
 
-       /*
-        * Test existence of __NR_bpf and BPF_PROG_LOAD.
-        * This call should fail if we run the testcase.
-        */
-       return syscall(__NR_bpf, BPF_PROG_LOAD, &attr, sizeof(attr));
+       return 0;
 }