Skip to content

Commit

Permalink
bpf: Move btf_type_is_struct_ptr() under CONFIG_BPF_SYSCALL
Browse files Browse the repository at this point in the history
The static inline btf_type_is_struct_ptr() function calls
btf_type_skip_modifiers() which is guarded by CONFIG_BPF_SYSCALL.
btf_type_is_struct_ptr() is also only called by CONFIG_BPF_SYSCALL
ifdef code, so let's only expose btf_type_is_struct_ptr() if
CONFIG_BPF_SYSCALL is defined.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Link: https://lore.kernel.org/r/20241104060300.421403-1-alistair.francis@wdc.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
  • Loading branch information
Alistair Francis authored and Alexei Starovoitov committed Nov 4, 2024
1 parent f2daa5a commit 9a78313
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions include/linux/btf.h
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,16 @@ int get_kern_ctx_btf_id(struct bpf_verifier_log *log, enum bpf_prog_type prog_ty
bool btf_types_are_same(const struct btf *btf1, u32 id1,
const struct btf *btf2, u32 id2);
int btf_check_iter_arg(struct btf *btf, const struct btf_type *func, int arg_idx);

static inline bool btf_type_is_struct_ptr(struct btf *btf, const struct btf_type *t)
{
if (!btf_type_is_ptr(t))
return false;

t = btf_type_skip_modifiers(btf, t->type, NULL);

return btf_type_is_struct(t);
}
#else
static inline const struct btf_type *btf_type_by_id(const struct btf *btf,
u32 type_id)
Expand Down Expand Up @@ -661,15 +671,4 @@ static inline int btf_check_iter_arg(struct btf *btf, const struct btf_type *fun
return -EOPNOTSUPP;
}
#endif

static inline bool btf_type_is_struct_ptr(struct btf *btf, const struct btf_type *t)
{
if (!btf_type_is_ptr(t))
return false;

t = btf_type_skip_modifiers(btf, t->type, NULL);

return btf_type_is_struct(t);
}

#endif

0 comments on commit 9a78313

Please sign in to comment.