]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests/bpf: Fix flaky file_reader test
authorMykyta Yatsenko <yatsenko@meta.com>
Wed, 3 Jun 2026 14:39:15 +0000 (07:39 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 5 Jun 2026 21:09:36 +0000 (14:09 -0700)
file_reader/on_open_expect_fault test expects page fault
when reading pages from the test harness executable.
It is not guaranteed that those are paged out, even
after madvise(MADV_PAGEOUT).
Relax the condition in the test to succeed with both
0 and -EFAULT returned.

Fixes: 784cdf931543 ("selftests/bpf: add file dynptr tests")
Reported-by: Shung-Hsi Yu <shung-hsi.yu@suse.com>
Closes: https://lore.kernel.org/all/ah6g7JSYOWGp2oAG@u94a/
Signed-off-by: Mykyta Yatsenko <yatsenko@meta.com>
Tested-by: Ihor Solodrai <ihor.solodrai@linux.dev>
Link: https://lore.kernel.org/r/20260603-file_reader_flake-v1-1-7f3f52d1e388@meta.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/file_reader.c

index 462712ff3b8a0b0377531b72b4b9ee6b6d55eb7d..aa2c05cce2b302170ec54c869de5991815f8237c 100644 (file)
@@ -50,7 +50,7 @@ int on_open_expect_fault(void *c)
                goto out;
 
        local_err = bpf_dynptr_read(tmp_buf, user_buf_sz, &dynptr, user_buf_sz, 0);
-       if (local_err == -EFAULT) { /* Expect page fault */
+       if (local_err == -EFAULT || local_err == 0) { /* Expect page fault or success */
                local_err = 0;
                run_success = 1;
        }