Skip to content

Commit

Permalink
bpf: move kfunc_call_arg_meta higher in the file
Browse files Browse the repository at this point in the history
Move struct bpf_kfunc_call_arg_meta higher in the file and put it next
to struct bpf_call_arg_meta, so it can be used from more functions.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20230302235015.2044271-10-andrii@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
  • Loading branch information
Andrii Nakryiko authored and Alexei Starovoitov committed Mar 4, 2023
1 parent 553a64a commit d0e1ac2
Showing 1 changed file with 35 additions and 35 deletions.
70 changes: 35 additions & 35 deletions kernel/bpf/verifier.c
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,41 @@ struct bpf_call_arg_meta {
struct btf_field *kptr_field;
};

struct bpf_kfunc_call_arg_meta {
/* In parameters */
struct btf *btf;
u32 func_id;
u32 kfunc_flags;
const struct btf_type *func_proto;
const char *func_name;
/* Out parameters */
u32 ref_obj_id;
u8 release_regno;
bool r0_rdonly;
u32 ret_btf_id;
u64 r0_size;
u32 subprogno;
struct {
u64 value;
bool found;
} arg_constant;
struct {
struct btf *btf;
u32 btf_id;
} arg_obj_drop;
struct {
struct btf_field *field;
} arg_list_head;
struct {
struct btf_field *field;
} arg_rbtree_root;
struct {
enum bpf_dynptr_type type;
u32 id;
} initialized_dynptr;
u64 mem_size;
};

struct btf *btf_vmlinux;

static DEFINE_MUTEX(bpf_verifier_lock);
Expand Down Expand Up @@ -8811,41 +8846,6 @@ static void mark_btf_func_reg_size(struct bpf_verifier_env *env, u32 regno,
}
}

struct bpf_kfunc_call_arg_meta {
/* In parameters */
struct btf *btf;
u32 func_id;
u32 kfunc_flags;
const struct btf_type *func_proto;
const char *func_name;
/* Out parameters */
u32 ref_obj_id;
u8 release_regno;
bool r0_rdonly;
u32 ret_btf_id;
u64 r0_size;
u32 subprogno;
struct {
u64 value;
bool found;
} arg_constant;
struct {
struct btf *btf;
u32 btf_id;
} arg_obj_drop;
struct {
struct btf_field *field;
} arg_list_head;
struct {
struct btf_field *field;
} arg_rbtree_root;
struct {
enum bpf_dynptr_type type;
u32 id;
} initialized_dynptr;
u64 mem_size;
};

static bool is_kfunc_acquire(struct bpf_kfunc_call_arg_meta *meta)
{
return meta->kfunc_flags & KF_ACQUIRE;
Expand Down

0 comments on commit d0e1ac2

Please sign in to comment.