mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-19 12:00:00 +00:00
selftests/bpf: Add tests for iter arg check
Add selftests to cover argument type check for iterator kfuncs, and cover all three kinds (new, next, destroy). Without the fix in the previous patch, the selftest would not cause a verifier error. Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com> Link: https://lore.kernel.org/r/20241203000238.3602922-3-memxor@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
12659d2861
commit
7f71197001
@ -1486,4 +1486,30 @@ int iter_subprog_check_stacksafe(const void *ctx)
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct bpf_iter_num global_it;
|
||||
|
||||
SEC("raw_tp")
|
||||
__failure __msg("arg#0 expected pointer to an iterator on stack")
|
||||
int iter_new_bad_arg(const void *ctx)
|
||||
{
|
||||
bpf_iter_num_new(&global_it, 0, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
SEC("raw_tp")
|
||||
__failure __msg("arg#0 expected pointer to an iterator on stack")
|
||||
int iter_next_bad_arg(const void *ctx)
|
||||
{
|
||||
bpf_iter_num_next(&global_it);
|
||||
return 0;
|
||||
}
|
||||
|
||||
SEC("raw_tp")
|
||||
__failure __msg("arg#0 expected pointer to an iterator on stack")
|
||||
int iter_destroy_bad_arg(const void *ctx)
|
||||
{
|
||||
bpf_iter_num_destroy(&global_it);
|
||||
return 0;
|
||||
}
|
||||
|
||||
char _license[] SEC("license") = "GPL";
|
||||
|
Loading…
x
Reference in New Issue
Block a user