bpf: fix unreachable statement
Checks
Commit Message
From: HongBo Zheng <zhenghongbo3@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@dpdk.org
Signed-off-by: HongBo Zheng <zhenghongbo3@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
---
lib/librte_bpf/bpf_validate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
> From: HongBo Zheng <zhenghongbo3@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@dpdk.org
>
> Signed-off-by: HongBo Zheng <zhenghongbo3@huawei.com>
> Signed-off-by: Min Hu (Connor) <humin29@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@intel.com>
> 2.7.4
22/04/2021 13:23, Ananyev, Konstantin:
> > From: HongBo Zheng <zhenghongbo3@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@dpdk.org
> >
> > Signed-off-by: HongBo Zheng <zhenghongbo3@huawei.com>
> > Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
>
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Applied, thanks
@@ -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);