diff options
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_global_func14.c')
-rw-r--r-- | tools/testing/selftests/bpf/progs/test_global_func14.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/test_global_func14.c b/tools/testing/selftests/bpf/progs/test_global_func14.c new file mode 100644 index 000000000000..33b7d5efd7b2 --- /dev/null +++ b/tools/testing/selftests/bpf/progs/test_global_func14.c @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0-only +#include <stddef.h> +#include <linux/bpf.h> +#include <bpf/bpf_helpers.h> +#include "bpf_misc.h" + +struct S; + +__noinline int foo(const struct S *s) +{ + if (s) + return bpf_get_prandom_u32() < *(const int *) s; + + return 0; +} + +SEC("cgroup_skb/ingress") +__failure __msg("reference type('FWD S') size cannot be determined") +int global_func14(struct __sk_buff *skb) +{ + + return foo(NULL); +} |