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