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 <davemarchevsky@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Song Liu <songliubraving@fb.com> Link: https://lore.kernel.org/bpf/20210416204704.2816874-2-davemarchevsky@fb.com
This commit is contained in:
committed by
Alexei Starovoitov
parent
137733d08f
commit
fd0b88f73f
@ -5808,6 +5808,7 @@ static void do_refine_retval_range(struct bpf_reg_state *regs, int ret_type,
|
|||||||
|
|
||||||
if (ret_type != RET_INTEGER ||
|
if (ret_type != RET_INTEGER ||
|
||||||
(func_id != BPF_FUNC_get_stack &&
|
(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_str &&
|
||||||
func_id != BPF_FUNC_probe_read_kernel_str &&
|
func_id != BPF_FUNC_probe_read_kernel_str &&
|
||||||
func_id != BPF_FUNC_probe_read_user_str))
|
func_id != BPF_FUNC_probe_read_user_str))
|
||||||
|
Reference in New Issue
Block a user