aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoropeneuler-ci-bot <george@openeuler.sh>2024-04-09 07:22:22 +0000
committerGitee <noreply@gitee.com>2024-04-09 07:22:22 +0000
commit86a40f8833c0c43630c220fcf6db13c5517dc320 (patch)
tree9bb8c4b87dc9d0cc67f2be51c7c30665982a9d9b
parent0a3be8a376c2ae5928c2932618f7400bfe31ffa9 (diff)
parent90dccf4a00674015cd71de66c17d13a1d8ff1d3d (diff)
downloadopenEuler-kernel-86a40f8833c0c43630c220fcf6db13c5517dc320.tar.gz
!5818 [sync] PR-5780: bpf: Reject variable offset alu on PTR_TO_FLOW_KEYS
Merge Pull Request from: @openeuler-sync-bot Origin pull request: https://gitee.com/openeuler/kernel/pulls/5780 PR sync from: Pu Lehui <pulehui@huawei.com> https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/UKT3JETAXT3EFXD2ZWVZOGHOUPJX2I7I/ https://gitee.com/src-openeuler/kernel/issues/I932VH Link:https://gitee.com/openeuler/kernel/pulls/5818 Reviewed-by: Xu Kuohai <xukuohai@huawei.com> Signed-off-by: Jialin Zhang <zhangjialin11@huawei.com>
-rw-r--r--kernel/bpf/verifier.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 06ed784c4e8527..c781e753e9a9f6 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -6161,6 +6161,10 @@ static int adjust_ptr_min_max_vals(struct bpf_verifier_env *env,
}
switch (base_type(ptr_reg->type)) {
+ case PTR_TO_FLOW_KEYS:
+ if (known)
+ break;
+ fallthrough;
case CONST_PTR_TO_MAP:
/* smin_val represents the known value */
if (known && smin_val == 0 && opcode == BPF_ADD)