1*443c91d0SJiri Olsa // SPDX-License-Identifier: GPL-2.0 2*443c91d0SJiri Olsa #include "vmlinux.h" 3*443c91d0SJiri Olsa #include <bpf/bpf_helpers.h> 4*443c91d0SJiri Olsa #include <bpf/bpf_tracing.h> 5*443c91d0SJiri Olsa #include "bpf_misc.h" 6*443c91d0SJiri Olsa 7*443c91d0SJiri Olsa char _license[] SEC("license") = "GPL"; 8*443c91d0SJiri Olsa 9*443c91d0SJiri Olsa SEC("fentry.multi/bpf_fentry_test1") 10*443c91d0SJiri Olsa __failure 11*443c91d0SJiri Olsa __msg("func 'bpf_multi_func' doesn't have 1-th argument") 12*443c91d0SJiri Olsa int BPF_PROG(fentry_direct_access, int a) 13*443c91d0SJiri Olsa { 14*443c91d0SJiri Olsa return a; 15*443c91d0SJiri Olsa } 16*443c91d0SJiri Olsa 17*443c91d0SJiri Olsa SEC("fexit.multi/bpf_fentry_test3") 18*443c91d0SJiri Olsa __failure 19*443c91d0SJiri Olsa __msg("invalid bpf_context access off=24 size=8") 20*443c91d0SJiri Olsa int BPF_PROG(fexit_direct_access, char a, int b, __u64 c, int ret) 21*443c91d0SJiri Olsa { 22*443c91d0SJiri Olsa return ret; 23*443c91d0SJiri Olsa } 24*443c91d0SJiri Olsa 25*443c91d0SJiri Olsa SEC("fsession.multi/bpf_fentry_test4") 26*443c91d0SJiri Olsa __failure 27*443c91d0SJiri Olsa __msg("invalid bpf_context access off=16 size=8") 28*443c91d0SJiri Olsa int BPF_PROG(fsession_direct_access, void *a, char b, int c, __u64 d, int ret) 29*443c91d0SJiri Olsa { 30*443c91d0SJiri Olsa return c; 31*443c91d0SJiri Olsa } 32