]>
git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - samples/bpf/tracex7_user.c
5 #include <bpf/libbpf.h>
7 int main(int argc
, char **argv
)
9 struct bpf_link
*link
= NULL
;
10 struct bpf_program
*prog
;
11 struct bpf_object
*obj
;
18 fprintf(stderr
, "ERROR: Run with the btrfs device argument!\n");
22 snprintf(filename
, sizeof(filename
), "%s_kern.o", argv
[0]);
23 obj
= bpf_object__open_file(filename
, NULL
);
24 if (libbpf_get_error(obj
)) {
25 fprintf(stderr
, "ERROR: opening BPF object file failed\n");
29 prog
= bpf_object__find_program_by_name(obj
, "bpf_prog1");
31 fprintf(stderr
, "ERROR: finding a prog in obj file failed\n");
35 /* load BPF program */
36 if (bpf_object__load(obj
)) {
37 fprintf(stderr
, "ERROR: loading BPF object file failed\n");
41 link
= bpf_program__attach(prog
);
42 if (libbpf_get_error(link
)) {
43 fprintf(stderr
, "ERROR: bpf_program__attach failed\n");
48 snprintf(command
, 256, "mount %s tmpmnt/", argv
[1]);
49 f
= popen(command
, "r");
53 bpf_link__destroy(link
);
54 bpf_object__close(obj
);