Skip to content

Instantly share code, notes, and snippets.

@hfingler
Created September 28, 2022 20:48
Show Gist options
  • Save hfingler/ac69e286f9e527dfd678ef2d768e757c to your computer and use it in GitHub Desktop.
Save hfingler/ac69e286f9e527dfd678ef2d768e757c to your computer and use it in GitHub Desktop.
output of bpf handle_tp
libbpf: loading object 'hello_bpf' from buffer
libbpf: elf: section(3) tp/raw_syscalls/sys_enter, size 192, link 0, flags 6, type=1
libbpf: sec 'tp/raw_syscalls/sys_enter': found program 'handle_tp' at insn offset 0 (0 bytes), code size 24 insns (192 bytes)
libbpf: elf: section(4) .reltp/raw_syscalls/sys_enter, size 64, link 13, flags 40, type=9
libbpf: elf: section(5) .bss, size 4, link 0, flags 3, type=8
libbpf: elf: section(6) .rodata, size 56, link 0, flags 2, type=1
libbpf: elf: section(7) license, size 4, link 0, flags 3, type=1
libbpf: license of hello_bpf is GPL
libbpf: elf: section(8) .BTF, size 89296, link 0, flags 0, type=1
libbpf: elf: section(10) .BTF.ext, size 192, link 0, flags 0, type=1
libbpf: elf: section(13) .symtab, size 240, link 1, flags 0, type=2
libbpf: looking for externs among 10 symbols...
libbpf: collected 1 externs total
libbpf: extern (ksym) #0: symbol 8, name bpf_kfunc_call_test1
libbpf: map 'hello_bp.bss' (global data): at sec_idx 5, offset 0, flags 400.
libbpf: map 0 is "hello_bp.bss"
libbpf: map 'hello_bp.rodata' (global data): at sec_idx 6, offset 0, flags 480.
libbpf: map 1 is "hello_bp.rodata"
libbpf: sec '.reltp/raw_syscalls/sys_enter': collecting relocation for section(3) 'tp/raw_syscalls/sys_enter'
libbpf: sec '.reltp/raw_syscalls/sys_enter': relo #0: insn #2 against 'my_pid'
libbpf: prog 'handle_tp': found data map 0 (hello_bp.bss, sec 5, off 0) for insn 2
libbpf: sec '.reltp/raw_syscalls/sys_enter': relo #1: insn #6 against '.rodata'
libbpf: prog 'handle_tp': found data map 1 (hello_bp.rodata, sec 6, off 0) for insn 6
libbpf: sec '.reltp/raw_syscalls/sys_enter': relo #2: insn #16 against 'bpf_kfunc_call_test1'
libbpf: prog 'handle_tp': found extern #0 'bpf_kfunc_call_test1' (sym 8) for insn #16
libbpf: sec '.reltp/raw_syscalls/sys_enter': relo #3: insn #17 against '.rodata'
libbpf: prog 'handle_tp': found data map 1 (hello_bp.rodata, sec 6, off 0) for insn 17
libbpf: loading kernel BTF '/sys/kernel/btf/vmlinux': 0
libbpf: extern (func ksym) 'bpf_kfunc_call_test1': resolved to kernel [104983]
libbpf: map 'hello_bp.bss': created successfully, fd=4
libbpf: map 'hello_bp.rodata': created successfully, fd=5
libbpf: prog 'handle_tp': BPF program load failed: Permission denied
libbpf: prog 'handle_tp': -- BEGIN PROG LOAD LOG --
arg#0 reference type('UNKNOWN ') size cannot be determined: -22
; int pid = bpf_get_current_pid_tgid() >> 32;
0: (85) call bpf_get_current_pid_tgid#14
; int pid = bpf_get_current_pid_tgid() >> 32;
1: (77) r0 >>= 32
; if (pid != my_pid)
2: (18) r1 = 0xffffa3b9c004a000
4: (61) r1 = *(u32 *)(r1 +0)
R0_w=inv(id=0,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R1_w=map_value(id=0,off=0,ks=4,vs=4,imm=0) R10=fp0
; if (pid != my_pid)
5: (5d) if r1 != r0 goto pc+16
R0_w=inv(id=0,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R1_w=inv(id=0,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R10=fp0
; bpf_printk("BPF triggered from PID %d.\n", pid);
6: (18) r1 = 0xffffa3b9c011a000
8: (b7) r2 = 28
9: (bf) r3 = r0
10: (85) call bpf_trace_printk#6
R0_w=inv(id=1,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R1_w=map_value(id=0,off=0,ks=4,vs=56,imm=0) R2_w=inv28 R3_w=inv(id=1,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R10=fp0
last_idx 10 first_idx 0
regs=4 stack=0 before 9: (bf) r3 = r0
regs=4 stack=0 before 8: (b7) r2 = 28
; a = bpf_kfunc_call_test1(0, 1, 2, 3, 4);
11: (b7) r1 = 0
12: (b7) r2 = 1
13: (b7) r3 = 2
14: (b7) r4 = 3
15: (b7) r5 = 4
16: (85) call bpf_kfunc_call_test1#104983
calling kernel function bpf_kfunc_call_test1 is not allowed
processed 15 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 0
-- END PROG LOAD LOG --
libbpf: prog 'handle_tp': failed to load: -13
libbpf: failed to load object 'hello_bpf'
libbpf: failed to load BPF skeleton 'hello_bpf': -13
Failed to load and verify BPF skeleton
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment