diff options
author | Alexei Starovoitov <ast@kernel.org> | 2023-04-04 06:50:23 +0200 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2023-04-05 01:57:10 +0200 |
commit | b7e852a9ec96635168c04204fb7cf1f7390b9a8c (patch) | |
tree | 4b534942d580d9d45f42f50cc7533fe7c7abedd3 /net/bpf | |
parent | bpf: Invoke btf_struct_access() callback only for writes. (diff) | |
download | linux-b7e852a9ec96635168c04204fb7cf1f7390b9a8c.tar.xz linux-b7e852a9ec96635168c04204fb7cf1f7390b9a8c.zip |
bpf: Remove unused arguments from btf_struct_access().
Remove unused arguments from btf_struct_access() callback.
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: David Vernet <void@manifault.com>
Link: https://lore.kernel.org/bpf/20230404045029.82870-3-alexei.starovoitov@gmail.com
Diffstat (limited to 'net/bpf')
-rw-r--r-- | net/bpf/bpf_dummy_struct_ops.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/net/bpf/bpf_dummy_struct_ops.c b/net/bpf/bpf_dummy_struct_ops.c index 9535c8506cda..5918d1b32e19 100644 --- a/net/bpf/bpf_dummy_struct_ops.c +++ b/net/bpf/bpf_dummy_struct_ops.c @@ -173,14 +173,11 @@ static int bpf_dummy_ops_check_member(const struct btf_type *t, static int bpf_dummy_ops_btf_struct_access(struct bpf_verifier_log *log, const struct bpf_reg_state *reg, - int off, int size, enum bpf_access_type atype, - u32 *next_btf_id, - enum bpf_type_flag *flag) + int off, int size) { const struct btf_type *state; const struct btf_type *t; s32 type_id; - int err; type_id = btf_find_by_name_kind(reg->btf, "bpf_dummy_ops_state", BTF_KIND_STRUCT); @@ -194,9 +191,10 @@ static int bpf_dummy_ops_btf_struct_access(struct bpf_verifier_log *log, return -EACCES; } - err = btf_struct_access(log, reg, off, size, atype, next_btf_id, flag); - if (err < 0) - return err; + if (off + size > sizeof(struct bpf_dummy_ops_state)) { + bpf_log(log, "write access at off %d with size %d\n", off, size); + return -EACCES; + } return NOT_INIT; } |