On Thu, Oct 08, 2026 at 06:49 PM Qiliang Yuan <[email protected]> wrote: > bpf_kfunc_common_test is a kfunc of bpf_testmod that other tests call > as well. When one of them calls it from another kprobe while test2 is > attached, the kprobe of test2 counts an extra miss, and the test reads > 2 instead of 1.
Which test is that? The only other test that calls bpf_kfunc_common_test() is wq. wq_callback() runs from a workqueue, not from a kprobe, and serial_test_wq() doesn't run in parallel with anything. The extra miss comes from test1 in missed_kprobe.c. It's a kprobe on bpf_fentry_test1() without pid filter. fentry_test, fexit_test, kprobe_multi_test and many others are not serial. Their bpf_prog_test_run() calls bpf_fentry_test1(). That runs test1, it calls bpf_kfunc_common_test() and the kprobe of test2 counts a miss. Pls fix the commit log and include the output of the failed run. > - ASSERT_EQ(info.perf_event.kprobe.missed, 1, > "info.perf_event.kprobe.missed"); > + ASSERT_GE(info.perf_event.kprobe.missed, 1, > "info.perf_event.kprobe.missed"); Yesterday you sent the same change for tp_recursion in the same file: https://lore.kernel.org/bpf/20261008-selftests-bpf-missed-tp-recursion-v1-1-0dd60471d...@gmail.com/ The cause is the same. test1 there is a kprobe on bpf_fentry_test1() too. No other kprobe prog with bpf_printk() is involved. test6 in test_missed_kprobe_recursion() is still ASSERT_EQ 1 and another test bumps it the same way. Fix all three in one patch. Also pls send selftest fixes as a series instead of 10 separate mails. pw-bot: cr
