diff options
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, |
