summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorAnay Wadhera <awadhera@berkeley.edu>2021-05-20 21:55:26 -0700
committerMichael Bestas <mkbestas@lineageos.org>2022-04-19 00:49:41 +0300
commit062efce09d3afc04ede6e45e0f0cd7b74886124d (patch)
tree81d3f07a7739e391005fc58f99d94ec9ff19c3f0 /kernel
parent14005dff302d06c33f1af33c3d3f535901ace386 (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.c19
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,