From: Dave Marchevsky Date: Fri, 16 Apr 2021 20:47:02 +0000 (-0700) Subject: bpf: Refine retval for bpf_get_task_stack helper X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fd0b88f73f5372c08ceff5cc7ddd8ceac502679c;p=linux.git bpf: Refine retval for bpf_get_task_stack helper Verifier can constrain the min/max bounds of bpf_get_task_stack's return value more tightly than the default tnum_unknown. Like bpf_get_stack, return value is num bytes written into a caller-supplied buf, or error, so do_refine_retval_range will work. Signed-off-by: Dave Marchevsky Signed-off-by: Alexei Starovoitov Acked-by: Song Liu Link: https://lore.kernel.org/bpf/20210416204704.2816874-2-davemarchevsky@fb.com --- diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 994ef36c5f60e..58730872f7e5e 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -5808,6 +5808,7 @@ static void do_refine_retval_range(struct bpf_reg_state *regs, int ret_type, if (ret_type != RET_INTEGER || (func_id != BPF_FUNC_get_stack && + func_id != BPF_FUNC_get_task_stack && func_id != BPF_FUNC_probe_read_str && func_id != BPF_FUNC_probe_read_kernel_str && func_id != BPF_FUNC_probe_read_user_str))