1*c7cab53fSVarun R Mallya // SPDX-License-Identifier: GPL-2.0 2*c7cab53fSVarun R Mallya 3*c7cab53fSVarun R Mallya #include "vmlinux.h" 4*c7cab53fSVarun R Mallya #include <bpf/bpf_helpers.h> 5*c7cab53fSVarun R Mallya #include <bpf/bpf_tracing.h> 6*c7cab53fSVarun R Mallya 7*c7cab53fSVarun R Mallya void *user_ptr = 0; 8*c7cab53fSVarun R Mallya 9*c7cab53fSVarun R Mallya SEC("kprobe.multi") 10*c7cab53fSVarun R Mallya int handle_kprobe_multi_sleepable(struct pt_regs *ctx) 11*c7cab53fSVarun R Mallya { 12*c7cab53fSVarun R Mallya int a, err; 13*c7cab53fSVarun R Mallya 14*c7cab53fSVarun R Mallya err = bpf_copy_from_user(&a, sizeof(a), user_ptr); 15*c7cab53fSVarun R Mallya barrier_var(a); 16*c7cab53fSVarun R Mallya return err; 17*c7cab53fSVarun R Mallya } 18*c7cab53fSVarun R Mallya 19*c7cab53fSVarun R Mallya SEC("fentry/bpf_fentry_test1") 20*c7cab53fSVarun R Mallya int BPF_PROG(fentry) 21*c7cab53fSVarun R Mallya { 22*c7cab53fSVarun R Mallya return 0; 23*c7cab53fSVarun R Mallya } 24*c7cab53fSVarun R Mallya 25*c7cab53fSVarun R Mallya char _license[] SEC("license") = "GPL"; 26