Similarly to the bpf_get_stack helper, bpf_get_task_stack's return value can be more tightly bound by the verifier - it's the number of bytes written to a user-supplied buffer, or a negative error value. Currently the verifier believes bpf_task_get_stack's retval bounds to be unknown, requiring extraneous bounds checking to remedy. Adding it to do_refine_retval_range fixes the issue, as evidenced by new selftests which fail to load if retval bounds are not refined. Dave Marchevsky (3): bpf: refine retval for bpf_get_task_stack helper bpf/selftests: add bpf_get_task_stack retval bounds verifier test bpf/selftests: add bpf_get_task_stack retval bounds test_prog kernel/bpf/verifier.c | 1 + .../selftests/bpf/prog_tests/bpf_iter.c | 1 + .../selftests/bpf/progs/bpf_iter_task_stack.c | 22 ++++++++++ .../selftests/bpf/verifier/bpf_get_stack.c | 43 +++++++++++++++++++ 4 files changed, 67 insertions(+) -- 2.30.2