bpf: fix JSLT validation
authorHongbo Zheng <zhenghongbo3@huawei.com>
Thu, 22 Apr 2021 07:30:01 +0000 (15:30 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 5 May 2021 10:22:30 +0000 (12:22 +0200)
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>
lib/bpf/bpf_validate.c

index 9214f15..7b1291b 100644 (file)
@@ -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);