1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* Converted from tools/testing/selftests/bpf/verifier/btf_ctx_access.c */ |
3 | |
4 | #include <linux/bpf.h> |
5 | #include <bpf/bpf_helpers.h> |
6 | #include "bpf_misc.h" |
7 | |
8 | SEC("fentry/bpf_modify_return_test" ) |
9 | __description("btf_ctx_access accept" ) |
10 | __success __retval(0) |
11 | __naked void btf_ctx_access_accept(void) |
12 | { |
13 | asm volatile (" \ |
14 | r2 = *(u32*)(r1 + 8); /* load 2nd argument value (int pointer) */\ |
15 | r0 = 0; \ |
16 | exit; \ |
17 | " ::: __clobber_all); |
18 | } |
19 | |
20 | SEC("fentry/bpf_fentry_test9" ) |
21 | __description("btf_ctx_access u32 pointer accept" ) |
22 | __success __retval(0) |
23 | __naked void ctx_access_u32_pointer_accept(void) |
24 | { |
25 | asm volatile (" \ |
26 | r2 = *(u32*)(r1 + 0); /* load 1nd argument value (u32 pointer) */\ |
27 | r0 = 0; \ |
28 | exit; \ |
29 | " ::: __clobber_all); |
30 | } |
31 | |
32 | char _license[] SEC("license" ) = "GPL" ; |
33 | |