[dpdk-dev] [PATCH] bpf: fix unreachable statement

Ananyev, Konstantin konstantin.ananyev at intel.com
Thu Apr 22 13:23:42 CEST 2021



> From: HongBo Zheng <zhenghongbo3 at huawei.com>
> 
> In function 'eval_jcc', judgment 'op == EBPF_JLT' occurs
> twice, as a result, the corresponding second statement
> cannot be accessed.
> 
> This patch fix this problem.
> 
> Fixes: 8021917293d0 ("bpf: add extra validation for input BPF program")
> Cc: stable at dpdk.org
> 
> Signed-off-by: HongBo Zheng <zhenghongbo3 at huawei.com>
> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
> ---
>  lib/librte_bpf/bpf_validate.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/librte_bpf/bpf_validate.c b/lib/librte_bpf/bpf_validate.c
> index 9214f15..7b1291b 100644
> --- a/lib/librte_bpf/bpf_validate.c
> +++ b/lib/librte_bpf/bpf_validate.c
> @@ -1115,7 +1115,7 @@ eval_jcc(struct bpf_verifier *bvf, const struct ebpf_insn *ins)
>  		eval_jsgt_jsle(trd, trs, frd, frs);
>  	else if (op == EBPF_JSLE)
>  		eval_jsgt_jsle(frd, frs, trd, trs);
> -	else if (op == EBPF_JLT)
> +	else if (op == EBPF_JSLT)
>  		eval_jslt_jsge(trd, trs, frd, frs);
>  	else if (op == EBPF_JSGE)
>  		eval_jslt_jsge(frd, frs, trd, trs);
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>

> 2.7.4



More information about the dev mailing list