diff options
| author | Anay Wadhera <awadhera@berkeley.edu> | 2021-05-20 21:55:26 -0700 |
|---|---|---|
| committer | Michael Bestas <mkbestas@lineageos.org> | 2022-04-19 00:49:41 +0300 |
| commit | 062efce09d3afc04ede6e45e0f0cd7b74886124d (patch) | |
| tree | 81d3f07a7739e391005fc58f99d94ec9ff19c3f0 /kernel | |
| parent | 14005dff302d06c33f1af33c3d3f535901ace386 (diff) | |
Revert "bpf: reject stores into ctx via st and xadd"
This reverts commit faa74a862a9442233bff39a496013a74775fb660.
Signed-off-by: Chatur27 <jasonbright2709@gmail.com>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/bpf/verifier.c | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index c14003840bc5..c9156bd430bc 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -683,13 +683,6 @@ static bool is_pointer_value(struct verifier_env *env, int regno) } } -static bool is_ctx_reg(struct verifier_env *env, int regno) -{ - const struct reg_state *reg = &env->cur_state.regs[regno]; - - return reg->type == PTR_TO_CTX; -} - /* check whether memory at (regno + off) is accessible for t = (read | write) * if t==write, value_regno is a register which value is stored into memory * if t==read, value_regno is a register which will receive the value from memory @@ -786,12 +779,6 @@ static int check_xadd(struct verifier_env *env, struct bpf_insn *insn) return -EACCES; } - if (is_ctx_reg(env, insn->dst_reg)) { - verbose("BPF_XADD stores into R%d context is not allowed\n", - insn->dst_reg); - return -EACCES; - } - /* check whether atomic_add can read the memory */ err = check_mem_access(env, insn->dst_reg, insn->off, BPF_SIZE(insn->code), BPF_READ, -1); @@ -1922,12 +1909,6 @@ static int do_check(struct verifier_env *env) if (err) return err; - if (is_ctx_reg(env, insn->dst_reg)) { - verbose("BPF_ST stores into R%d context is not allowed\n", - insn->dst_reg); - return -EACCES; - } - /* check that memory (dst_reg + off) is writeable */ err = check_mem_access(env, insn->dst_reg, insn->off, BPF_SIZE(insn->code), BPF_WRITE, |
