diff options
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_global_func15.c')
-rw-r--r-- | tools/testing/selftests/bpf/progs/test_global_func15.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/test_global_func15.c b/tools/testing/selftests/bpf/progs/test_global_func15.c new file mode 100644 index 000000000..b512d6a6c --- /dev/null +++ b/tools/testing/selftests/bpf/progs/test_global_func15.c @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-2.0-only +#include <stddef.h> +#include <linux/bpf.h> +#include <bpf/bpf_helpers.h> +#include "bpf_misc.h" + +__noinline int foo(unsigned int *v) +{ + if (v) + *v = bpf_get_prandom_u32(); + + return 0; +} + +SEC("cgroup_skb/ingress") +__failure __msg("At program exit the register R0 has value") +int global_func15(struct __sk_buff *skb) +{ + unsigned int v = 1; + + foo(&v); + + return v; +} |