Message ID | 152657877097.9825.6742536221308880897.stgit@firesoul |
---|---|
State | Accepted, archived |
Delegated to: | BPF Maintainers |
Headers | show |
Series | selftests/bpf: check return value of fopen in test_verifier.c | expand |
On 05/17/2018 07:39 PM, Jesper Dangaard Brouer wrote: > Commit 0a6748740368 ("selftests/bpf: Only run tests if !bpf_disabled") > forgot to check return value of fopen. > > This caused some confusion, when running test_verifier (from > tools/testing/selftests/bpf/) on an older kernel (< v4.4) as it will > simply seqfault. > > This fix avoids the segfault and prints an error, but allow program to > continue. Given the sysctl was introduced in 1be7f75d1668 ("bpf: > enable non-root eBPF programs"), we know that the running kernel > cannot support unpriv, thus continue with unpriv_disabled = true. > > Fixes: 0a6748740368 ("selftests/bpf: Only run tests if !bpf_disabled") > Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Applied to bpf, thanks Jesper!
diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c index a877af00605d..94498eaf872e 100644 --- a/tools/testing/selftests/bpf/test_verifier.c +++ b/tools/testing/selftests/bpf/test_verifier.c @@ -12337,6 +12337,11 @@ static void get_unpriv_disabled() FILE *fd; fd = fopen("/proc/sys/"UNPRIV_SYSCTL, "r"); + if (!fd) { + perror("fopen /proc/sys/"UNPRIV_SYSCTL); + unpriv_disabled = true; + return; + } if (fgets(buf, 2, fd) == buf && atoi(buf)) unpriv_disabled = true; fclose(fd);
Commit 0a6748740368 ("selftests/bpf: Only run tests if !bpf_disabled") forgot to check return value of fopen. This caused some confusion, when running test_verifier (from tools/testing/selftests/bpf/) on an older kernel (< v4.4) as it will simply seqfault. This fix avoids the segfault and prints an error, but allow program to continue. Given the sysctl was introduced in 1be7f75d1668 ("bpf: enable non-root eBPF programs"), we know that the running kernel cannot support unpriv, thus continue with unpriv_disabled = true. Fixes: 0a6748740368 ("selftests/bpf: Only run tests if !bpf_disabled") Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> --- tools/testing/selftests/bpf/test_verifier.c | 5 +++++ 1 file changed, 5 insertions(+)