The bpf_user_ringbuf_drain() helper function allows a BPF program to specify a callback that is invoked when draining entries from a BPF_MAP_TYPE_USER_RINGBUF ring buffer map. The API is meant to allow the callback to return 0 if it wants to continue draining samples, and 1 if it's done draining. Unfortunately, bpf_user_ringbuf_drain() landed shortly after commit 1bfe26fb0827 ("bpf: Add verifier support for custom callback return range"), which changed the default behavior of callbacks to only support returning 0, and the corresponding necessary change to bpf_user_ringbuf_drain() callbacks was missed. This patch set fixes this oversight, and updates the user_ringbuf selftests to return 1 in a callback to catch future instances of regression. This patch set should be merged to the bpf tree. David Vernet (2): bpf: Allow bpf_user_ringbuf_drain() callbacks to return 1 selftests/bpf: Make bpf_user_ringbuf_drain() selftest callback return 1 kernel/bpf/verifier.c | 1 + tools/testing/selftests/bpf/progs/user_ringbuf_success.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) -- 2.38.0