Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add multi-architecture build, add layers to dockerfile #7

Closed
wants to merge 1 commit into from

Conversation

papodaca
Copy link

  • Adds multi-target Dockrefile to build trayce_agent within docker build process.
  • Adds github workflow to build multi architecture image.
  • Adds required modifications to go_arg.h for the arm64 architecture.

Note: The build is currently broken due to the go_arg.h changes being incorrect for the arm64 architecture.

@papodaca
Copy link
Author

papodaca commented Jul 31, 2024

I was able to correct an issue with the go_arg.h compile time architecture problem. It looks like there is something else wrong with the pt_regs stuct. This is beyond limit of my low level c knowledge, changes are needed to the btf file? or we need a different one per architecture?

In file included from main.bpf.c:9:
./go_arg.h:58:24: error: no member named 'r0' in 'struct pt_regs'
        return (void *)GO_PARAM1(ctx);
                       ^~~~~~~~~~~~~~

@papodaca papodaca force-pushed the add_multiarch_build branch from dd0c4d5 to b4a9476 Compare July 31, 2024 16:55
@papodaca
Copy link
Author

I managed to break the amd64 compile too. I guess I don't understand C macros as much as I should.

@evanrolfe
Copy link
Owner

Hi, many thanks for this PR, its very helpful! I've made some modifications and have it building on both arm64 and amd64, but still have a couple issues to sort out.

@evanrolfe
Copy link
Owner

@papodaca I've pushed a new image with multi-arch support, if you run traycer/trayce_agent:0.0.2 instead of 0.0.1 then that should work. Let me know if it does, thanks.

@papodaca
Copy link
Author

papodaca commented Aug 1, 2024

Doesn't seem to be working

libbpf: loading object 'main.bpf.o' from buffer
libbpf: elf: section(2) .symtab, size 4704, link 1, flags 0, type=2
libbpf: elf: section(3) .text, size 6096, link 0, flags 6, type=1
libbpf: sec '.text': found program 'trayce_debug' at insn offset 0 (0 bytes), code size 74 insns (592 bytes)
libbpf: sec '.text': found program 'go_get_argument_by_reg' at insn offset 74 (592 bytes), code size 44 insns (352 bytes)
libbpf: sec '.text': found program 'go_get_argument_by_stack' at insn offset 118 (944 bytes), code size 12 insns (96 bytes)
libbpf: sec '.text': found program 'go_get_argument' at insn offset 130 (1040 bytes), code size 17 insns (136 bytes)
libbpf: sec '.text': found program 'process_ssl_read_entry' at insn offset 147 (1176 bytes), code size 150 insns (1200 bytes)
libbpf: sec '.text': found program 'process_ssl_read_return' at insn offset 297 (2376 bytes), code size 202 insns (1616 bytes)
libbpf: sec '.text': found program 'process_ssl_write_entry' at insn offset 499 (3992 bytes), code size 129 insns (1032 bytes)
libbpf: sec '.text': found program 'process_ssl_write_return' at insn offset 628 (5024 bytes), code size 111 insns (888 bytes)
libbpf: sec '.text': found program 'probe_entry_TLSWrap_memfn' at insn offset 739 (5912 bytes), code size 14 insns (112 bytes)
libbpf: sec '.text': found program 'probe_ret_TLSWrap_memfn' at insn offset 753 (6024 bytes), code size 9 insns (72 bytes)
libbpf: elf: section(4) kprobe/accept4, size 640, link 0, flags 6, type=1
libbpf: sec 'kprobe/accept4': found program 'probe_accept4' at insn offset 0 (0 bytes), code size 80 insns (640 bytes)
libbpf: elf: section(5) kretprobe/accept4, size 544, link 0, flags 6, type=1
libbpf: sec 'kretprobe/accept4': found program 'probe_ret_accept4' at insn offset 0 (0 bytes), code size 68 insns (544 bytes)
libbpf: elf: section(6) kprobe/close, size 328, link 0, flags 6, type=1
libbpf: sec 'kprobe/close': found program 'probe_close' at insn offset 0 (0 bytes), code size 41 insns (328 bytes)
libbpf: elf: section(7) kretprobe/close, size 272, link 0, flags 6, type=1
libbpf: sec 'kretprobe/close': found program 'probe_ret_close' at insn offset 0 (0 bytes), code size 34 insns (272 bytes)
libbpf: elf: section(8) kprobe/sendto, size 624, link 0, flags 6, type=1
libbpf: sec 'kprobe/sendto': found program 'probe_sendto' at insn offset 0 (0 bytes), code size 78 insns (624 bytes)
libbpf: elf: section(9) kretprobe/sendto, size 800, link 0, flags 6, type=1
libbpf: sec 'kretprobe/sendto': found program 'probe_ret_sendto' at insn offset 0 (0 bytes), code size 100 insns (800 bytes)
libbpf: elf: section(10) kprobe/recvfrom, size 632, link 0, flags 6, type=1
libbpf: sec 'kprobe/recvfrom': found program 'probe_recvfrom' at insn offset 0 (0 bytes), code size 79 insns (632 bytes)
libbpf: elf: section(11) kretprobe/recvfrom, size 800, link 0, flags 6, type=1
libbpf: sec 'kretprobe/recvfrom': found program 'probe_ret_recvfrom' at insn offset 0 (0 bytes), code size 100 insns (800 bytes)
libbpf: elf: section(12) kprobe/write, size 568, link 0, flags 6, type=1
libbpf: sec 'kprobe/write': found program 'probe_write' at insn offset 0 (0 bytes), code size 71 insns (568 bytes)
libbpf: elf: section(13) kretprobe/write, size 848, link 0, flags 6, type=1
libbpf: sec 'kretprobe/write': found program 'probe_ret_write' at insn offset 0 (0 bytes), code size 106 insns (848 bytes)
libbpf: elf: section(14) kprobe/read, size 496, link 0, flags 6, type=1
libbpf: sec 'kprobe/read': found program 'probe_read' at insn offset 0 (0 bytes), code size 62 insns (496 bytes)
libbpf: elf: section(15) kretprobe/read, size 848, link 0, flags 6, type=1
libbpf: sec 'kretprobe/read': found program 'probe_ret_read' at insn offset 0 (0 bytes), code size 106 insns (848 bytes)
libbpf: elf: section(16) uprobe/SSL_read, size 32, link 0, flags 6, type=1
libbpf: sec 'uprobe/SSL_read': found program 'probe_entry_SSL_read' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(17) uretprobe/SSL_read, size 32, link 0, flags 6, type=1
libbpf: sec 'uretprobe/SSL_read': found program 'probe_ret_SSL_read' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(18) uprobe/SSL_read_ex, size 32, link 0, flags 6, type=1
libbpf: sec 'uprobe/SSL_read_ex': found program 'probe_entry_SSL_read_ex' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(19) uretprobe/SSL_read_ex, size 32, link 0, flags 6, type=1
libbpf: sec 'uretprobe/SSL_read_ex': found program 'probe_ret_SSL_read_ex' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(20) uprobe/SSL_write, size 32, link 0, flags 6, type=1
libbpf: sec 'uprobe/SSL_write': found program 'probe_entry_SSL_write' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(21) uretprobe/SSL_write, size 32, link 0, flags 6, type=1
libbpf: sec 'uretprobe/SSL_write': found program 'probe_ret_SSL_write' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(22) uprobe/SSL_write_ex, size 32, link 0, flags 6, type=1
libbpf: sec 'uprobe/SSL_write_ex': found program 'probe_entry_SSL_write_ex' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(23) uretprobe/SSL_write_ex, size 32, link 0, flags 6, type=1
libbpf: sec 'uretprobe/SSL_write_ex': found program 'probe_ret_SSL_write_ex' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(24) uprobe/gotls_write_register, size 1112, link 0, flags 6, type=1
libbpf: sec 'uprobe/gotls_write_register': found program 'probe_entry_go_tls_write' at insn offset 0 (0 bytes), code size 139 insns (1112 bytes)
libbpf: elf: section(25) uprobe/gotls_read_register, size 800, link 0, flags 6, type=1
libbpf: sec 'uprobe/gotls_read_register': found program 'probe_entry_go_tls_read' at insn offset 0 (0 bytes), code size 100 insns (800 bytes)
libbpf: elf: section(26) uprobe/gotls_exit_read_register, size 1136, link 0, flags 6, type=1
libbpf: sec 'uprobe/gotls_exit_read_register': found program 'probe_exit_go_tls_read' at insn offset 0 (0 bytes), code size 142 insns (1136 bytes)
libbpf: elf: section(27) .rodata, size 839, link 0, flags 2, type=1
libbpf: elf: section(28) .maps, size 560, link 0, flags 3, type=1
libbpf: elf: section(29) license, size 4, link 0, flags 3, type=1
libbpf: license of main.bpf.o is GPL
libbpf: elf: section(30) .rel.text, size 656, link 2, flags 40, type=9
libbpf: elf: section(31) .relkprobe/accept4, size 32, link 2, flags 40, type=9
libbpf: elf: section(32) .relkretprobe/accept4, size 80, link 2, flags 40, type=9
libbpf: elf: section(33) .relkprobe/close, size 32, link 2, flags 40, type=9
libbpf: elf: section(34) .relkretprobe/close, size 64, link 2, flags 40, type=9
libbpf: elf: section(35) .relkprobe/sendto, size 64, link 2, flags 40, type=9
libbpf: elf: section(36) .relkretprobe/sendto, size 64, link 2, flags 40, type=9
libbpf: elf: section(37) .relkprobe/recvfrom, size 64, link 2, flags 40, type=9
libbpf: elf: section(38) .relkretprobe/recvfrom, size 64, link 2, flags 40, type=9
libbpf: elf: section(39) .relkprobe/write, size 64, link 2, flags 40, type=9
libbpf: elf: section(40) .relkretprobe/write, size 64, link 2, flags 40, type=9
libbpf: elf: section(41) .relkprobe/read, size 48, link 2, flags 40, type=9
libbpf: elf: section(42) .relkretprobe/read, size 64, link 2, flags 40, type=9
libbpf: elf: section(43) .reluprobe/SSL_read, size 16, link 2, flags 40, type=9
libbpf: elf: section(44) .reluretprobe/SSL_read, size 16, link 2, flags 40, type=9
libbpf: elf: section(45) .reluprobe/SSL_read_ex, size 16, link 2, flags 40, type=9
libbpf: elf: section(46) .reluretprobe/SSL_read_ex, size 16, link 2, flags 40, type=9
libbpf: elf: section(47) .reluprobe/SSL_write, size 16, link 2, flags 40, type=9
libbpf: elf: section(48) .reluretprobe/SSL_write, size 16, link 2, flags 40, type=9
libbpf: elf: section(49) .reluprobe/SSL_write_ex, size 16, link 2, flags 40, type=9
libbpf: elf: section(50) .reluretprobe/SSL_write_ex, size 16, link 2, flags 40, type=9
libbpf: elf: section(51) .reluprobe/gotls_write_register, size 48, link 2, flags 40, type=9
libbpf: elf: section(52) .reluprobe/gotls_read_register, size 48, link 2, flags 40, type=9
libbpf: elf: section(53) .reluprobe/gotls_exit_read_register, size 80, link 2, flags 40, type=9
libbpf: elf: section(54) .BTF, size 21355, link 0, flags 0, type=1
libbpf: elf: section(55) .BTF.ext, size 15380, link 0, flags 0, type=1
libbpf: looking for externs among 196 symbols...
libbpf: collected 0 externs total
libbpf: map 'data_events': at sec_idx 28, offset 0.
libbpf: map 'data_events': found type = 27.
libbpf: map 'data_events': found max_entries = 262144.
libbpf: map 'intercepted_pids': at sec_idx 28, offset 16.
libbpf: map 'intercepted_pids': found type = 1.
libbpf: map 'intercepted_pids': found key [12], sz = 4.
libbpf: map 'intercepted_pids': found value [12], sz = 4.
libbpf: map 'intercepted_pids': found max_entries = 1024.
libbpf: map 'active_connect_args_map': at sec_idx 28, offset 48.
libbpf: map 'active_connect_args_map': found type = 1.
libbpf: map 'active_connect_args_map': found key [20], sz = 8.
libbpf: map 'active_connect_args_map': found value [24], sz = 48.
libbpf: map 'active_connect_args_map': found max_entries = 1024.
libbpf: map 'conn_infos': at sec_idx 28, offset 80.
libbpf: map 'conn_infos': found type = 1.
libbpf: map 'conn_infos': found key [20], sz = 8.
libbpf: map 'conn_infos': found value [24], sz = 48.
libbpf: map 'conn_infos': found max_entries = 1024.
libbpf: map 'active_close_args_map': at sec_idx 28, offset 112.
libbpf: map 'active_close_args_map': found type = 1.
libbpf: map 'active_close_args_map': found key [20], sz = 8.
libbpf: map 'active_close_args_map': found value [34], sz = 32.
libbpf: map 'active_close_args_map': found max_entries = 1024.
libbpf: map 'fd_map': at sec_idx 28, offset 144.
libbpf: map 'fd_map': found type = 1.
libbpf: map 'fd_map': found key [20], sz = 8.
libbpf: map 'fd_map': found value [12], sz = 4.
libbpf: map 'fd_map': found max_entries = 1024.
libbpf: map 'active_sendto_args_map': at sec_idx 28, offset 176.
libbpf: map 'active_sendto_args_map': found type = 1.
libbpf: map 'active_sendto_args_map': found key [20], sz = 8.
libbpf: map 'active_sendto_args_map': found value [40], sz = 48.
libbpf: map 'active_sendto_args_map': found max_entries = 1024.
libbpf: map 'active_recvfrom_args_map': at sec_idx 28, offset 208.
libbpf: map 'active_recvfrom_args_map': found type = 1.
libbpf: map 'active_recvfrom_args_map': found key [20], sz = 8.
libbpf: map 'active_recvfrom_args_map': found value [40], sz = 48.
libbpf: map 'active_recvfrom_args_map': found max_entries = 1024.
libbpf: map 'active_write_args_map': at sec_idx 28, offset 240.
libbpf: map 'active_write_args_map': found type = 1.
libbpf: map 'active_write_args_map': found key [20], sz = 8.
libbpf: map 'active_write_args_map': found value [40], sz = 48.
libbpf: map 'active_write_args_map': found max_entries = 1024.
libbpf: map 'active_read_args_map': at sec_idx 28, offset 272.
libbpf: map 'active_read_args_map': found type = 1.
libbpf: map 'active_read_args_map': found key [20], sz = 8.
libbpf: map 'active_read_args_map': found value [40], sz = 48.
libbpf: map 'active_read_args_map': found max_entries = 1024.
libbpf: map 'ssl_fd_map': at sec_idx 28, offset 304.
libbpf: map 'ssl_fd_map': found type = 1.
libbpf: map 'ssl_fd_map': found key [20], sz = 8.
libbpf: map 'ssl_fd_map': found value [12], sz = 4.
libbpf: map 'ssl_fd_map': found max_entries = 1024.
libbpf: map 'active_ssl_read_args_map': at sec_idx 28, offset 336.
libbpf: map 'active_ssl_read_args_map': found type = 1.
libbpf: map 'active_ssl_read_args_map': found key [20], sz = 8.
libbpf: map 'active_ssl_read_args_map': found value [40], sz = 48.
libbpf: map 'active_ssl_read_args_map': found max_entries = 1024.
libbpf: map 'active_ssl_write_args_map': at sec_idx 28, offset 368.
libbpf: map 'active_ssl_write_args_map': found type = 1.
libbpf: map 'active_ssl_write_args_map': found key [20], sz = 8.
libbpf: map 'active_ssl_write_args_map': found value [40], sz = 48.
libbpf: map 'active_ssl_write_args_map': found max_entries = 1024.
libbpf: map 'active_TLSWrap_memfn_this': at sec_idx 28, offset 400.
libbpf: map 'active_TLSWrap_memfn_this': found type = 1.
libbpf: map 'active_TLSWrap_memfn_this': found key [20], sz = 8.
libbpf: map 'active_TLSWrap_memfn_this': found value [62], sz = 8.
libbpf: map 'active_TLSWrap_memfn_this': found max_entries = 1024.
libbpf: map 'offsets_map': at sec_idx 28, offset 432.
libbpf: map 'offsets_map': found type = 1.
libbpf: map 'offsets_map': found key [12], sz = 4.
libbpf: map 'offsets_map': found value [66], sz = 8.
libbpf: map 'offsets_map': found max_entries = 1024.
libbpf: map 'libssl_versions_map': at sec_idx 28, offset 464.
libbpf: map 'libssl_versions_map': found type = 1.
libbpf: map 'libssl_versions_map': found key [12], sz = 4.
libbpf: map 'libssl_versions_map': found value [66], sz = 8.
libbpf: map 'libssl_versions_map': found max_entries = 1024.
libbpf: map 'data_buffer_heap': at sec_idx 28, offset 496.
libbpf: map 'data_buffer_heap': found type = 6.
libbpf: map 'data_buffer_heap': found key [12], sz = 4.
libbpf: map 'data_buffer_heap': found value [73], sz = 4168.
libbpf: map 'data_buffer_heap': found max_entries = 1.
libbpf: map 'active_go_read_args_map': at sec_idx 28, offset 528.
libbpf: map 'active_go_read_args_map': found type = 1.
libbpf: map 'active_go_read_args_map': found key [20], sz = 8.
libbpf: map 'active_go_read_args_map': found value [79], sz = 16.
libbpf: map 'active_go_read_args_map': found max_entries = 1024.
libbpf: map 'main.bpf.rodata' (global data): at sec_idx 27, offset 0, flags 480.
libbpf: map 18 is "main.bpf.rodata"
libbpf: sec '.rel.text': collecting relocation for section(3) '.text'
libbpf: sec '.rel.text': relo #0: insn #67 against 'data_events'
libbpf: prog 'trayce_debug': found map 0 (data_events, sec 28, off 0) for insn #67
libbpf: sec '.rel.text': relo #1: insn #132 against 'go_get_argument_by_reg'
libbpf: sec '.rel.text': relo #2: insn #155 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 8
libbpf: sec '.rel.text': relo #3: insn #162 against 'intercepted_pids'
libbpf: prog 'process_ssl_read_entry': found map 1 (intercepted_pids, sec 28, off 16) for insn #15
libbpf: sec '.rel.text': relo #4: insn #177 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 30
libbpf: sec '.rel.text': relo #5: insn #188 against 'libssl_versions_map'
libbpf: prog 'process_ssl_read_entry': found map 15 (libssl_versions_map, sec 28, off 464) for insn #41
libbpf: sec '.rel.text': relo #6: insn #205 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 58
libbpf: sec '.rel.text': relo #7: insn #221 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 74
libbpf: sec '.rel.text': relo #8: insn #227 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 80
libbpf: sec '.rel.text': relo #9: insn #236 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 89
libbpf: sec '.rel.text': relo #10: insn #243 against 'fd_map'
libbpf: prog 'process_ssl_read_entry': found map 5 (fd_map, sec 28, off 144) for insn #96
libbpf: sec '.rel.text': relo #11: insn #250 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 103
libbpf: sec '.rel.text': relo #12: insn #263 against 'ssl_fd_map'
libbpf: prog 'process_ssl_read_entry': found map 10 (ssl_fd_map, sec 28, off 304) for insn #116
libbpf: sec '.rel.text': relo #13: insn #291 against 'active_ssl_read_args_map'
libbpf: prog 'process_ssl_read_entry': found map 11 (active_ssl_read_args_map, sec 28, off 336) for insn #144
libbpf: sec '.rel.text': relo #14: insn #304 against 'active_ssl_read_args_map'
libbpf: prog 'process_ssl_read_return': found map 11 (active_ssl_read_args_map, sec 28, off 336) for insn #7
libbpf: sec '.rel.text': relo #15: insn #322 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 25
libbpf: sec '.rel.text': relo #16: insn #333 against 'libssl_versions_map'
libbpf: prog 'process_ssl_read_return': found map 15 (libssl_versions_map, sec 28, off 464) for insn #36
libbpf: sec '.rel.text': relo #17: insn #349 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 52
libbpf: sec '.rel.text': relo #18: insn #365 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 68
libbpf: sec '.rel.text': relo #19: insn #371 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 74
libbpf: sec '.rel.text': relo #20: insn #380 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 83
libbpf: sec '.rel.text': relo #21: insn #387 against 'fd_map'
libbpf: prog 'process_ssl_read_return': found map 5 (fd_map, sec 28, off 144) for insn #90
libbpf: sec '.rel.text': relo #22: insn #392 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 95
libbpf: sec '.rel.text': relo #23: insn #449 against 'data_events'
libbpf: prog 'process_ssl_read_return': found map 0 (data_events, sec 28, off 0) for insn #152
libbpf: sec '.rel.text': relo #24: insn #471 against 'active_ssl_read_args_map'
libbpf: prog 'process_ssl_read_return': found map 11 (active_ssl_read_args_map, sec 28, off 336) for insn #174
libbpf: sec '.rel.text': relo #25: insn #480 against 'data_buffer_heap'
libbpf: prog 'process_ssl_read_return': found map 16 (data_buffer_heap, sec 28, off 496) for insn #183
libbpf: sec '.rel.text': relo #26: insn #506 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 7
libbpf: sec '.rel.text': relo #27: insn #513 against 'intercepted_pids'
libbpf: prog 'process_ssl_write_entry': found map 1 (intercepted_pids, sec 28, off 16) for insn #14
libbpf: sec '.rel.text': relo #28: insn #530 against 'libssl_versions_map'
libbpf: prog 'process_ssl_write_entry': found map 15 (libssl_versions_map, sec 28, off 464) for insn #31
libbpf: sec '.rel.text': relo #29: insn #547 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 48
libbpf: sec '.rel.text': relo #30: insn #563 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 64
libbpf: sec '.rel.text': relo #31: insn #569 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 70
libbpf: sec '.rel.text': relo #32: insn #580 against 'ssl_fd_map'
libbpf: prog 'process_ssl_write_entry': found map 10 (ssl_fd_map, sec 28, off 304) for insn #81
libbpf: sec '.rel.text': relo #33: insn #612 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 113
libbpf: sec '.rel.text': relo #34: insn #622 against 'active_ssl_write_args_map'
libbpf: prog 'process_ssl_write_entry': found map 12 (active_ssl_write_args_map, sec 28, off 368) for insn #123
libbpf: sec '.rel.text': relo #35: insn #634 against 'active_ssl_write_args_map'
libbpf: prog 'process_ssl_write_return': found map 12 (active_ssl_write_args_map, sec 28, off 368) for insn #6
libbpf: sec '.rel.text': relo #36: insn #690 against 'data_events'
libbpf: prog 'process_ssl_write_return': found map 0 (data_events, sec 28, off 0) for insn #62
libbpf: sec '.rel.text': relo #37: insn #712 against 'active_ssl_write_args_map'
libbpf: prog 'process_ssl_write_return': found map 12 (active_ssl_write_args_map, sec 28, off 368) for insn #84
libbpf: sec '.rel.text': relo #38: insn #722 against 'data_buffer_heap'
libbpf: prog 'process_ssl_write_return': found map 16 (data_buffer_heap, sec 28, off 496) for insn #94
libbpf: sec '.rel.text': relo #39: insn #747 against 'active_TLSWrap_memfn_this'
libbpf: prog 'probe_entry_TLSWrap_memfn': found map 13 (active_TLSWrap_memfn_this, sec 28, off 400) for insn #8
libbpf: sec '.rel.text': relo #40: insn #757 against 'active_TLSWrap_memfn_this'
libbpf: prog 'probe_ret_TLSWrap_memfn': found map 13 (active_TLSWrap_memfn_this, sec 28, off 400) for insn #4
libbpf: sec '.relkprobe/accept4': collecting relocation for section(4) 'kprobe/accept4'
libbpf: sec '.relkprobe/accept4': relo #0: insn #9 against 'intercepted_pids'
libbpf: prog 'probe_accept4': found map 1 (intercepted_pids, sec 28, off 16) for insn #9
libbpf: sec '.relkprobe/accept4': relo #1: insn #74 against 'active_connect_args_map'
libbpf: prog 'probe_accept4': found map 2 (active_connect_args_map, sec 28, off 48) for insn #74
libbpf: sec '.relkretprobe/accept4': collecting relocation for section(5) 'kretprobe/accept4'
libbpf: sec '.relkretprobe/accept4': relo #0: insn #12 against 'active_connect_args_map'
libbpf: prog 'probe_ret_accept4': found map 2 (active_connect_args_map, sec 28, off 48) for insn #12
libbpf: sec '.relkretprobe/accept4': relo #1: insn #43 against 'conn_infos'
libbpf: prog 'probe_ret_accept4': found map 3 (conn_infos, sec 28, off 80) for insn #43
libbpf: sec '.relkretprobe/accept4': relo #2: insn #48 against 'data_events'
libbpf: prog 'probe_ret_accept4': found map 0 (data_events, sec 28, off 0) for insn #48
libbpf: sec '.relkretprobe/accept4': relo #3: insn #55 against '.rodata'
libbpf: prog 'probe_ret_accept4': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 55
libbpf: sec '.relkretprobe/accept4': relo #4: insn #63 against 'active_connect_args_map'
libbpf: prog 'probe_ret_accept4': found map 2 (active_connect_args_map, sec 28, off 48) for insn #63
libbpf: sec '.relkprobe/close': collecting relocation for section(6) 'kprobe/close'
libbpf: sec '.relkprobe/close': relo #0: insn #9 against 'intercepted_pids'
libbpf: prog 'probe_close': found map 1 (intercepted_pids, sec 28, off 16) for insn #9
libbpf: sec '.relkprobe/close': relo #1: insn #35 against 'active_close_args_map'
libbpf: prog 'probe_close': found map 4 (active_close_args_map, sec 28, off 112) for insn #35
libbpf: sec '.relkretprobe/close': collecting relocation for section(7) 'kretprobe/close'
libbpf: sec '.relkretprobe/close': relo #0: insn #9 against 'active_close_args_map'
libbpf: prog 'probe_ret_close': found map 4 (active_close_args_map, sec 28, off 112) for insn #9
libbpf: sec '.relkretprobe/close': relo #1: insn #14 against 'data_events'
libbpf: prog 'probe_ret_close': found map 0 (data_events, sec 28, off 0) for insn #14
libbpf: sec '.relkretprobe/close': relo #2: insn #24 against 'conn_infos'
libbpf: prog 'probe_ret_close': found map 3 (conn_infos, sec 28, off 80) for insn #24
libbpf: sec '.relkretprobe/close': relo #3: insn #29 against 'active_close_args_map'
libbpf: prog 'probe_ret_close': found map 4 (active_close_args_map, sec 28, off 112) for insn #29
libbpf: sec '.relkprobe/sendto': collecting relocation for section(8) 'kprobe/sendto'
libbpf: sec '.relkprobe/sendto': relo #0: insn #7 against 'intercepted_pids'
libbpf: prog 'probe_sendto': found map 1 (intercepted_pids, sec 28, off 16) for insn #7
libbpf: sec '.relkprobe/sendto': relo #1: insn #22 against '.rodata'
libbpf: prog 'probe_sendto': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 22
libbpf: sec '.relkprobe/sendto': relo #2: insn #29 against 'fd_map'
libbpf: prog 'probe_sendto': found map 5 (fd_map, sec 28, off 144) for insn #29
libbpf: sec '.relkprobe/sendto': relo #3: insn #72 against 'active_sendto_args_map'
libbpf: prog 'probe_sendto': found map 6 (active_sendto_args_map, sec 28, off 176) for insn #72
libbpf: sec '.relkretprobe/sendto': collecting relocation for section(9) 'kretprobe/sendto'
libbpf: sec '.relkretprobe/sendto': relo #0: insn #5 against 'active_sendto_args_map'
libbpf: prog 'probe_ret_sendto': found map 6 (active_sendto_args_map, sec 28, off 176) for insn #5
libbpf: sec '.relkretprobe/sendto': relo #1: insn #51 against 'data_events'
libbpf: prog 'probe_ret_sendto': found map 0 (data_events, sec 28, off 0) for insn #51
libbpf: sec '.relkretprobe/sendto': relo #2: insn #73 against 'active_sendto_args_map'
libbpf: prog 'probe_ret_sendto': found map 6 (active_sendto_args_map, sec 28, off 176) for insn #73
libbpf: sec '.relkretprobe/sendto': relo #3: insn #83 against 'data_buffer_heap'
libbpf: prog 'probe_ret_sendto': found map 16 (data_buffer_heap, sec 28, off 496) for insn #83
libbpf: sec '.relkprobe/recvfrom': collecting relocation for section(10) 'kprobe/recvfrom'
libbpf: sec '.relkprobe/recvfrom': relo #0: insn #7 against 'intercepted_pids'
libbpf: prog 'probe_recvfrom': found map 1 (intercepted_pids, sec 28, off 16) for insn #7
libbpf: sec '.relkprobe/recvfrom': relo #1: insn #22 against '.rodata'
libbpf: prog 'probe_recvfrom': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 22
libbpf: sec '.relkprobe/recvfrom': relo #2: insn #29 against 'fd_map'
libbpf: prog 'probe_recvfrom': found map 5 (fd_map, sec 28, off 144) for insn #29
libbpf: sec '.relkprobe/recvfrom': relo #3: insn #73 against 'active_recvfrom_args_map'
libbpf: prog 'probe_recvfrom': found map 7 (active_recvfrom_args_map, sec 28, off 208) for insn #73
libbpf: sec '.relkretprobe/recvfrom': collecting relocation for section(11) 'kretprobe/recvfrom'
libbpf: sec '.relkretprobe/recvfrom': relo #0: insn #5 against 'active_recvfrom_args_map'
libbpf: prog 'probe_ret_recvfrom': found map 7 (active_recvfrom_args_map, sec 28, off 208) for insn #5
libbpf: sec '.relkretprobe/recvfrom': relo #1: insn #51 against 'data_events'
libbpf: prog 'probe_ret_recvfrom': found map 0 (data_events, sec 28, off 0) for insn #51
libbpf: sec '.relkretprobe/recvfrom': relo #2: insn #73 against 'active_recvfrom_args_map'
libbpf: prog 'probe_ret_recvfrom': found map 7 (active_recvfrom_args_map, sec 28, off 208) for insn #73
libbpf: sec '.relkretprobe/recvfrom': relo #3: insn #83 against 'data_buffer_heap'
libbpf: prog 'probe_ret_recvfrom': found map 16 (data_buffer_heap, sec 28, off 496) for insn #83
libbpf: sec '.relkprobe/write': collecting relocation for section(12) 'kprobe/write'
libbpf: sec '.relkprobe/write': relo #0: insn #7 against 'intercepted_pids'
libbpf: prog 'probe_write': found map 1 (intercepted_pids, sec 28, off 16) for insn #7
libbpf: sec '.relkprobe/write': relo #1: insn #23 against 'fd_map'
libbpf: prog 'probe_write': found map 5 (fd_map, sec 28, off 144) for insn #23
libbpf: sec '.relkprobe/write': relo #2: insn #57 against 'active_write_args_map'
libbpf: prog 'probe_write': found map 8 (active_write_args_map, sec 28, off 240) for insn #57
libbpf: sec '.relkprobe/write': relo #3: insn #65 against '.rodata'
libbpf: prog 'probe_write': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 65
libbpf: sec '.relkretprobe/write': collecting relocation for section(13) 'kretprobe/write'
libbpf: sec '.relkretprobe/write': relo #0: insn #10 against 'active_write_args_map'
libbpf: prog 'probe_ret_write': found map 8 (active_write_args_map, sec 28, off 240) for insn #10
libbpf: sec '.relkretprobe/write': relo #1: insn #56 against 'data_events'
libbpf: prog 'probe_ret_write': found map 0 (data_events, sec 28, off 0) for insn #56
libbpf: sec '.relkretprobe/write': relo #2: insn #78 against 'active_write_args_map'
libbpf: prog 'probe_ret_write': found map 8 (active_write_args_map, sec 28, off 240) for insn #78
libbpf: sec '.relkretprobe/write': relo #3: insn #87 against 'data_buffer_heap'
libbpf: prog 'probe_ret_write': found map 16 (data_buffer_heap, sec 28, off 496) for insn #87
libbpf: sec '.relkprobe/read': collecting relocation for section(14) 'kprobe/read'
libbpf: sec '.relkprobe/read': relo #0: insn #7 against 'intercepted_pids'
libbpf: prog 'probe_read': found map 1 (intercepted_pids, sec 28, off 16) for insn #7
libbpf: sec '.relkprobe/read': relo #1: insn #50 against 'active_read_args_map'
libbpf: prog 'probe_read': found map 9 (active_read_args_map, sec 28, off 272) for insn #50
libbpf: sec '.relkprobe/read': relo #2: insn #56 against '.rodata'
libbpf: prog 'probe_read': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 56
libbpf: sec '.relkretprobe/read': collecting relocation for section(15) 'kretprobe/read'
libbpf: sec '.relkretprobe/read': relo #0: insn #10 against 'active_read_args_map'
libbpf: prog 'probe_ret_read': found map 9 (active_read_args_map, sec 28, off 272) for insn #10
libbpf: sec '.relkretprobe/read': relo #1: insn #56 against 'data_events'
libbpf: prog 'probe_ret_read': found map 0 (data_events, sec 28, off 0) for insn #56
libbpf: sec '.relkretprobe/read': relo #2: insn #78 against 'active_read_args_map'
libbpf: prog 'probe_ret_read': found map 9 (active_read_args_map, sec 28, off 272) for insn #78
libbpf: sec '.relkretprobe/read': relo #3: insn #87 against 'data_buffer_heap'
libbpf: prog 'probe_ret_read': found map 16 (data_buffer_heap, sec 28, off 496) for insn #87
libbpf: sec '.reluprobe/SSL_read': collecting relocation for section(16) 'uprobe/SSL_read'
libbpf: sec '.reluprobe/SSL_read': relo #0: insn #1 against 'process_ssl_read_entry'
libbpf: sec '.reluretprobe/SSL_read': collecting relocation for section(17) 'uretprobe/SSL_read'
libbpf: sec '.reluretprobe/SSL_read': relo #0: insn #1 against 'process_ssl_read_return'
libbpf: sec '.reluprobe/SSL_read_ex': collecting relocation for section(18) 'uprobe/SSL_read_ex'
libbpf: sec '.reluprobe/SSL_read_ex': relo #0: insn #1 against 'process_ssl_read_entry'
libbpf: sec '.reluretprobe/SSL_read_ex': collecting relocation for section(19) 'uretprobe/SSL_read_ex'
libbpf: sec '.reluretprobe/SSL_read_ex': relo #0: insn #1 against 'process_ssl_read_return'
libbpf: sec '.reluprobe/SSL_write': collecting relocation for section(20) 'uprobe/SSL_write'
libbpf: sec '.reluprobe/SSL_write': relo #0: insn #1 against 'process_ssl_write_entry'
libbpf: sec '.reluretprobe/SSL_write': collecting relocation for section(21) 'uretprobe/SSL_write'
libbpf: sec '.reluretprobe/SSL_write': relo #0: insn #1 against 'process_ssl_write_return'
libbpf: sec '.reluprobe/SSL_write_ex': collecting relocation for section(22) 'uprobe/SSL_write_ex'
libbpf: sec '.reluprobe/SSL_write_ex': relo #0: insn #1 against 'process_ssl_write_entry'
libbpf: sec '.reluretprobe/SSL_write_ex': collecting relocation for section(23) 'uretprobe/SSL_write_ex'
libbpf: sec '.reluretprobe/SSL_write_ex': relo #0: insn #1 against 'process_ssl_write_return'
libbpf: sec '.reluprobe/gotls_write_register': collecting relocation for section(24) 'uprobe/gotls_write_register'
libbpf: sec '.reluprobe/gotls_write_register': relo #0: insn #33 against 'offsets_map'
libbpf: prog 'probe_entry_go_tls_write': found map 14 (offsets_map, sec 28, off 432) for insn #33
libbpf: sec '.reluprobe/gotls_write_register': relo #1: insn #95 against 'data_events'
libbpf: prog 'probe_entry_go_tls_write': found map 0 (data_events, sec 28, off 0) for insn #95
libbpf: sec '.reluprobe/gotls_write_register': relo #2: insn #122 against 'data_buffer_heap'
libbpf: prog 'probe_entry_go_tls_write': found map 16 (data_buffer_heap, sec 28, off 496) for insn #122
libbpf: sec '.reluprobe/gotls_read_register': collecting relocation for section(25) 'uprobe/gotls_read_register'
libbpf: sec '.reluprobe/gotls_read_register': relo #0: insn #25 against 'offsets_map'
libbpf: prog 'probe_entry_go_tls_read': found map 14 (offsets_map, sec 28, off 432) for insn #25
libbpf: sec '.reluprobe/gotls_read_register': relo #1: insn #56 against '.rodata'
libbpf: prog 'probe_entry_go_tls_read': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 56
libbpf: sec '.reluprobe/gotls_read_register': relo #2: insn #94 against 'active_go_read_args_map'
libbpf: prog 'probe_entry_go_tls_read': found map 17 (active_go_read_args_map, sec 28, off 528) for insn #94
libbpf: sec '.reluprobe/gotls_exit_read_register': collecting relocation for section(26) 'uprobe/gotls_exit_read_register'
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #0: insn #23 against 'active_go_read_args_map'
libbpf: prog 'probe_exit_go_tls_read': found map 17 (active_go_read_args_map, sec 28, off 528) for insn #23
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #1: insn #58 against '.rodata'
libbpf: prog 'probe_exit_go_tls_read': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 58
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #2: insn #92 against 'data_events'
libbpf: prog 'probe_exit_go_tls_read': found map 0 (data_events, sec 28, off 0) for insn #92
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #3: insn #114 against 'active_go_read_args_map'
libbpf: prog 'probe_exit_go_tls_read': found map 17 (active_go_read_args_map, sec 28, off 528) for insn #114
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #4: insn #123 against 'data_buffer_heap'
libbpf: prog 'probe_exit_go_tls_read': found map 16 (data_buffer_heap, sec 28, off 496) for insn #123
libbpf: object 'main.bpf.o': failed (-22) to create BPF token from '/sys/fs/bpf', skipping optional step...
libbpf: sec '.text': found 22 CO-RE relocations
libbpf: CO-RE relocating [86] struct pt_regs: found target candidate [166] struct pt_regs in [vmlinux]
libbpf: prog 'go_get_argument_by_reg': relo #0: <byte_off> [86] struct pt_regs.regs[1] (0:0:1:0:1 @ offset 8)
libbpf: prog 'go_get_argument_by_reg': relo #0: matching candidate #0 <byte_off> [166] struct pt_regs.regs[1] (0:0:1:0:1 @ offset 8)
libbpf: prog 'go_get_argument_by_reg': relo #0: patched insn #9 (ALU/ALU64) imm 8 -> 8
libbpf: prog 'go_get_argument_by_reg': relo #1: <byte_off> [86] struct pt_regs.regs[5] (0:0:1:0:5 @ offset 40)
libbpf: prog 'go_get_argument_by_reg': relo #1: matching candidate #0 <byte_off> [166] struct pt_regs.regs[5] (0:0:1:0:5 @ offset 40)
libbpf: prog 'go_get_argument_by_reg': relo #1: patched insn #15 (ALU/ALU64) imm 40 -> 40
libbpf: prog 'go_get_argument_by_reg': relo #2: <byte_off> [86] struct pt_regs.regs[8] (0:0:1:0:8 @ offset 64)
libbpf: prog 'go_get_argument_by_reg': relo #2: matching candidate #0 <byte_off> [166] struct pt_regs.regs[8] (0:0:1:0:8 @ offset 64)
libbpf: prog 'go_get_argument_by_reg': relo #2: patched insn #21 (ALU/ALU64) imm 64 -> 64
libbpf: prog 'go_get_argument_by_reg': relo #3: <byte_off> [86] struct pt_regs.regs[3] (0:0:1:0:3 @ offset 24)
libbpf: prog 'go_get_argument_by_reg': relo #3: matching candidate #0 <byte_off> [166] struct pt_regs.regs[3] (0:0:1:0:3 @ offset 24)
libbpf: prog 'go_get_argument_by_reg': relo #3: patched insn #26 (ALU/ALU64) imm 24 -> 24
libbpf: prog 'go_get_argument_by_reg': relo #4: <byte_off> [86] struct pt_regs.regs[0] (0:0:1:0:0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #4: matching candidate #0 <byte_off> [166] struct pt_regs.regs[0] (0:0:1:0:0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #4: patched insn #28 (ALU/ALU64) imm 0 -> 0
libbpf: prog 'go_get_argument_by_reg': relo #5: <byte_off> [86] struct pt_regs.regs[4] (0:0:1:0:4 @ offset 32)
libbpf: prog 'go_get_argument_by_reg': relo #5: matching candidate #0 <byte_off> [166] struct pt_regs.regs[4] (0:0:1:0:4 @ offset 32)
libbpf: prog 'go_get_argument_by_reg': relo #5: patched insn #30 (ALU/ALU64) imm 32 -> 32
libbpf: prog 'go_get_argument_by_reg': relo #6: <byte_off> [86] struct pt_regs.regs[6] (0:0:1:0:6 @ offset 48)
libbpf: prog 'go_get_argument_by_reg': relo #6: matching candidate #0 <byte_off> [166] struct pt_regs.regs[6] (0:0:1:0:6 @ offset 48)
libbpf: prog 'go_get_argument_by_reg': relo #6: patched insn #32 (ALU/ALU64) imm 48 -> 48
libbpf: prog 'go_get_argument_by_reg': relo #7: <byte_off> [86] struct pt_regs.regs[7] (0:0:1:0:7 @ offset 56)
libbpf: prog 'go_get_argument_by_reg': relo #7: matching candidate #0 <byte_off> [166] struct pt_regs.regs[7] (0:0:1:0:7 @ offset 56)
libbpf: prog 'go_get_argument_by_reg': relo #7: patched insn #34 (ALU/ALU64) imm 56 -> 56
libbpf: prog 'go_get_argument_by_reg': relo #8: <byte_off> [86] struct pt_regs.regs[2] (0:0:1:0:2 @ offset 16)
libbpf: prog 'go_get_argument_by_reg': relo #8: matching candidate #0 <byte_off> [166] struct pt_regs.regs[2] (0:0:1:0:2 @ offset 16)
libbpf: prog 'go_get_argument_by_reg': relo #8: patched insn #36 (ALU/ALU64) imm 16 -> 16
libbpf: CO-RE relocating [88] struct user_pt_regs: found target candidate [158] struct user_pt_regs in [vmlinux]
libbpf: prog 'go_get_argument_by_stack': relo #9: <byte_off> [88] struct user_pt_regs.sp (0:1 @ offset 248)
libbpf: prog 'go_get_argument_by_stack': relo #9: matching candidate #0 <byte_off> [158] struct user_pt_regs.sp (0:1 @ offset 248)
libbpf: prog 'go_get_argument_by_stack': relo #9: patched insn #2 (LDX/ST/STX) off 248 -> 248
libbpf: prog 'go_get_argument': relo #10: <byte_off> [88] struct user_pt_regs.sp (0:1 @ offset 248)
libbpf: prog 'go_get_argument': relo #10: matching candidate #0 <byte_off> [158] struct user_pt_regs.sp (0:1 @ offset 248)
libbpf: prog 'go_get_argument': relo #10: patched insn #6 (LDX/ST/STX) off 248 -> 248
libbpf: prog 'process_ssl_read_entry': relo #11: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_read_entry': relo #11: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_read_entry': relo #11: patched insn #20 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'process_ssl_read_entry': relo #12: <byte_off> [88] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'process_ssl_read_entry': relo #12: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'process_ssl_read_entry': relo #12: patched insn #126 (LDX/ST/STX) off 8 -> 8
libbpf: prog 'process_ssl_read_entry': relo #13: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_read_entry': relo #13: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_read_entry': relo #13: patched insn #133 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'process_ssl_read_entry': relo #14: <byte_off> [88] struct user_pt_regs.regs[3] (0:0:3 @ offset 24)
libbpf: prog 'process_ssl_read_entry': relo #14: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[3] (0:0:3 @ offset 24)
libbpf: prog 'process_ssl_read_entry': relo #14: patched insn #138 (LDX/ST/STX) off 24 -> 24
libbpf: prog 'process_ssl_read_return': relo #15: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_read_return': relo #15: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_read_return': relo #15: patched insn #99 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'process_ssl_read_return': relo #16: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_read_return': relo #16: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_read_return': relo #16: patched insn #108 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'process_ssl_write_entry': relo #17: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_write_entry': relo #17: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_write_entry': relo #17: patched insn #19 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'process_ssl_write_entry': relo #18: <byte_off> [88] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'process_ssl_write_entry': relo #18: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'process_ssl_write_entry': relo #18: patched insn #95 (LDX/ST/STX) off 8 -> 8
libbpf: prog 'process_ssl_write_entry': relo #19: <byte_off> [88] struct user_pt_regs.regs[3] (0:0:3 @ offset 24)
libbpf: prog 'process_ssl_write_entry': relo #19: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[3] (0:0:3 @ offset 24)
libbpf: prog 'process_ssl_write_entry': relo #19: patched insn #106 (LDX/ST/STX) off 24 -> 24
libbpf: prog 'process_ssl_write_return': relo #20: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_write_return': relo #20: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'process_ssl_write_return': relo #20: patched insn #27 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'probe_entry_TLSWrap_memfn': relo #21: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_entry_TLSWrap_memfn': relo #21: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_entry_TLSWrap_memfn': relo #21: patched insn #0 (LDX/ST/STX) off 0 -> 0
libbpf: sec 'kprobe/accept4': found 6 CO-RE relocations
libbpf: prog 'probe_accept4': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_accept4': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_accept4': relo #0: patched insn #14 (ALU/ALU64) imm 0 -> 0
libbpf: prog 'probe_accept4': relo #1: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_accept4': relo #1: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_accept4': relo #1: patched insn #15 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'probe_accept4': relo #2: <byte_off> [88] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_accept4': relo #2: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_accept4': relo #2: patched insn #22 (ALU/ALU64) imm 8 -> 8
libbpf: CO-RE relocating [100] struct sockaddr: found target candidate [2080] struct sockaddr in [vmlinux]
libbpf: prog 'probe_accept4': relo #3: <byte_off> [100] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_accept4': relo #3: matching candidate #0 <byte_off> [2080] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_accept4': relo #3: patched insn #29 (ALU/ALU64) imm 0 -> 0
libbpf: CO-RE relocating [108] struct sockaddr_in: found target candidate [6515] struct sockaddr_in in [vmlinux]
libbpf: prog 'probe_accept4': relo #4: <byte_off> [108] struct sockaddr_in.sin_addr.s_addr (0:2:0 @ offset 4)
libbpf: prog 'probe_accept4': relo #4: matching candidate #0 <byte_off> [6515] struct sockaddr_in.sin_addr.s_addr (0:2:0 @ offset 4)
libbpf: prog 'probe_accept4': relo #4: patched insn #56 (ALU/ALU64) imm 4 -> 4
libbpf: prog 'probe_accept4': relo #5: <byte_off> [108] struct sockaddr_in.sin_port (0:1 @ offset 2)
libbpf: prog 'probe_accept4': relo #5: matching candidate #0 <byte_off> [6515] struct sockaddr_in.sin_port (0:1 @ offset 2)
libbpf: prog 'probe_accept4': relo #5: patched insn #63 (ALU/ALU64) imm 2 -> 2
libbpf: sec 'kretprobe/accept4': found 1 CO-RE relocations
libbpf: prog 'probe_ret_accept4': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_accept4': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_accept4': relo #0: patched insn #4 (LDX/ST/STX) off 0 -> 0
libbpf: sec 'kprobe/close': found 2 CO-RE relocations
libbpf: prog 'probe_close': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_close': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_close': relo #0: patched insn #13 (ALU/ALU64) imm 0 -> 0
libbpf: prog 'probe_close': relo #1: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_close': relo #1: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_close': relo #1: patched insn #14 (LDX/ST/STX) off 0 -> 0
libbpf: sec 'kretprobe/close': found 1 CO-RE relocations
libbpf: prog 'probe_ret_close': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_close': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_close': relo #0: patched insn #3 (LDX/ST/STX) off 0 -> 0
libbpf: sec 'kprobe/sendto': found 5 CO-RE relocations
libbpf: prog 'probe_sendto': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_sendto': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_sendto': relo #0: patched insn #11 (ALU/ALU64) imm 0 -> 0
libbpf: prog 'probe_sendto': relo #1: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_sendto': relo #1: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_sendto': relo #1: patched insn #12 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'probe_sendto': relo #2: <byte_off> [88] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_sendto': relo #2: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_sendto': relo #2: patched insn #34 (ALU/ALU64) imm 8 -> 8
libbpf: prog 'probe_sendto': relo #3: <byte_off> [88] struct user_pt_regs.regs[4] (0:0:4 @ offset 32)
libbpf: prog 'probe_sendto': relo #3: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[4] (0:0:4 @ offset 32)
libbpf: prog 'probe_sendto': relo #3: patched insn #41 (ALU/ALU64) imm 32 -> 32
libbpf: prog 'probe_sendto': relo #4: <byte_off> [100] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_sendto': relo #4: matching candidate #0 <byte_off> [2080] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_sendto': relo #4: patched insn #49 (ALU/ALU64) imm 0 -> 0
libbpf: sec 'kretprobe/sendto': found 1 CO-RE relocations
libbpf: prog 'probe_ret_sendto': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_sendto': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_sendto': relo #0: patched insn #9 (LDX/ST/STX) off 0 -> 0
libbpf: sec 'kprobe/recvfrom': found 5 CO-RE relocations
libbpf: prog 'probe_recvfrom': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #0: patched insn #11 (ALU/ALU64) imm 0 -> 0
libbpf: prog 'probe_recvfrom': relo #1: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #1: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #1: patched insn #12 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'probe_recvfrom': relo #2: <byte_off> [88] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_recvfrom': relo #2: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_recvfrom': relo #2: patched insn #34 (ALU/ALU64) imm 8 -> 8
libbpf: prog 'probe_recvfrom': relo #3: <byte_off> [88] struct user_pt_regs.regs[4] (0:0:4 @ offset 32)
libbpf: prog 'probe_recvfrom': relo #3: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[4] (0:0:4 @ offset 32)
libbpf: prog 'probe_recvfrom': relo #3: patched insn #41 (ALU/ALU64) imm 32 -> 32
libbpf: prog 'probe_recvfrom': relo #4: <byte_off> [100] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #4: matching candidate #0 <byte_off> [2080] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #4: patched insn #49 (ALU/ALU64) imm 0 -> 0
libbpf: sec 'kretprobe/recvfrom': found 1 CO-RE relocations
libbpf: prog 'probe_ret_recvfrom': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_recvfrom': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_recvfrom': relo #0: patched insn #9 (LDX/ST/STX) off 0 -> 0
libbpf: sec 'kprobe/write': found 4 CO-RE relocations
libbpf: prog 'probe_write': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_write': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_write': relo #0: patched insn #11 (ALU/ALU64) imm 0 -> 0
libbpf: prog 'probe_write': relo #1: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_write': relo #1: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_write': relo #1: patched insn #12 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'probe_write': relo #2: <byte_off> [88] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_write': relo #2: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_write': relo #2: patched insn #29 (ALU/ALU64) imm 8 -> 8
libbpf: prog 'probe_write': relo #3: <byte_off> [88] struct user_pt_regs.regs[2] (0:0:2 @ offset 16)
libbpf: prog 'probe_write': relo #3: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[2] (0:0:2 @ offset 16)
libbpf: prog 'probe_write': relo #3: patched insn #36 (ALU/ALU64) imm 16 -> 16
libbpf: sec 'kretprobe/write': found 2 CO-RE relocations
libbpf: prog 'probe_ret_write': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_write': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_write': relo #0: patched insn #3 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'probe_ret_write': relo #1: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_write': relo #1: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_write': relo #1: patched insn #14 (LDX/ST/STX) off 0 -> 0
libbpf: sec 'kprobe/read': found 4 CO-RE relocations
libbpf: prog 'probe_read': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_read': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_read': relo #0: patched insn #11 (ALU/ALU64) imm 0 -> 0
libbpf: prog 'probe_read': relo #1: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_read': relo #1: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_read': relo #1: patched insn #12 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'probe_read': relo #2: <byte_off> [88] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_read': relo #2: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[1] (0:0:1 @ offset 8)
libbpf: prog 'probe_read': relo #2: patched insn #19 (ALU/ALU64) imm 8 -> 8
libbpf: prog 'probe_read': relo #3: <byte_off> [88] struct user_pt_regs.regs[2] (0:0:2 @ offset 16)
libbpf: prog 'probe_read': relo #3: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[2] (0:0:2 @ offset 16)
libbpf: prog 'probe_read': relo #3: patched insn #26 (ALU/ALU64) imm 16 -> 16
libbpf: sec 'kretprobe/read': found 2 CO-RE relocations
libbpf: prog 'probe_ret_read': relo #0: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_read': relo #0: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_read': relo #0: patched insn #3 (LDX/ST/STX) off 0 -> 0
libbpf: prog 'probe_ret_read': relo #1: <byte_off> [88] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_read': relo #1: matching candidate #0 <byte_off> [158] struct user_pt_regs.regs[0] (0:0:0 @ offset 0)
libbpf: prog 'probe_ret_read': relo #1: patched insn #14 (LDX/ST/STX) off 0 -> 0
libbpf: sec 'uprobe/gotls_write_register': found 3 CO-RE relocations
libbpf: prog 'probe_entry_go_tls_write': relo #0: <byte_off> [86] struct pt_regs.regs[1] (0:0:1:0:1 @ offset 8)
libbpf: prog 'probe_entry_go_tls_write': relo #0: matching candidate #0 <byte_off> [166] struct pt_regs.regs[1] (0:0:1:0:1 @ offset 8)
libbpf: prog 'probe_entry_go_tls_write': relo #0: patched insn #4 (ALU/ALU64) imm 8 -> 8
libbpf: prog 'probe_entry_go_tls_write': relo #1: <byte_off> [86] struct pt_regs.regs[2] (0:0:1:0:2 @ offset 16)
libbpf: prog 'probe_entry_go_tls_write': relo #1: matching candidate #0 <byte_off> [166] struct pt_regs.regs[2] (0:0:1:0:2 @ offset 16)
libbpf: prog 'probe_entry_go_tls_write': relo #1: patched insn #11 (ALU/ALU64) imm 16 -> 16
libbpf: prog 'probe_entry_go_tls_write': relo #2: <byte_off> [86] struct pt_regs.regs[0] (0:0:1:0:0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_write': relo #2: matching candidate #0 <byte_off> [166] struct pt_regs.regs[0] (0:0:1:0:0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_write': relo #2: patched insn #39 (ALU/ALU64) imm 0 -> 0
libbpf: sec 'uprobe/gotls_read_register': found 4 CO-RE relocations
libbpf: prog 'probe_entry_go_tls_read': relo #0: <byte_off> [86] struct pt_regs.regs[22] (0:0:1:0:22 @ offset 176)
libbpf: prog 'probe_entry_go_tls_read': relo #0: matching candidate #0 <byte_off> [166] struct pt_regs.regs[22] (0:0:1:0:22 @ offset 176)
libbpf: prog 'probe_entry_go_tls_read': relo #0: patched insn #4 (ALU/ALU64) imm 176 -> 176
libbpf: prog 'probe_entry_go_tls_read': relo #1: <byte_off> [86] struct pt_regs.regs[0] (0:0:1:0:0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_read': relo #1: matching candidate #0 <byte_off> [166] struct pt_regs.regs[0] (0:0:1:0:0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_read': relo #1: patched insn #31 (ALU/ALU64) imm 0 -> 0
libbpf: prog 'probe_entry_go_tls_read': relo #2: <byte_off> [86] struct pt_regs.regs[1] (0:0:1:0:1 @ offset 8)
libbpf: prog 'probe_entry_go_tls_read': relo #2: matching candidate #0 <byte_off> [166] struct pt_regs.regs[1] (0:0:1:0:1 @ offset 8)
libbpf: prog 'probe_entry_go_tls_read': relo #2: patched insn #66 (ALU/ALU64) imm 8 -> 8
libbpf: prog 'probe_entry_go_tls_read': relo #3: <byte_off> [86] struct pt_regs.regs[2] (0:0:1:0:2 @ offset 16)
libbpf: prog 'probe_entry_go_tls_read': relo #3: matching candidate #0 <byte_off> [166] struct pt_regs.regs[2] (0:0:1:0:2 @ offset 16)
libbpf: prog 'probe_entry_go_tls_read': relo #3: patched insn #73 (ALU/ALU64) imm 16 -> 16
libbpf: sec 'uprobe/gotls_exit_read_register': found 2 CO-RE relocations
libbpf: prog 'probe_exit_go_tls_read': relo #0: <byte_off> [86] struct pt_regs.regs[22] (0:0:1:0:22 @ offset 176)
libbpf: prog 'probe_exit_go_tls_read': relo #0: matching candidate #0 <byte_off> [166] struct pt_regs.regs[22] (0:0:1:0:22 @ offset 176)
libbpf: prog 'probe_exit_go_tls_read': relo #0: patched insn #4 (ALU/ALU64) imm 176 -> 176
libbpf: prog 'probe_exit_go_tls_read': relo #1: <byte_off> [86] struct pt_regs.regs[0] (0:0:1:0:0 @ offset 0)
libbpf: prog 'probe_exit_go_tls_read': relo #1: matching candidate #0 <byte_off> [166] struct pt_regs.regs[0] (0:0:1:0:0 @ offset 0)
libbpf: prog 'probe_exit_go_tls_read': relo #1: patched insn #33 (ALU/ALU64) imm 0 -> 0
libbpf: prog 'probe_entry_SSL_read': added 150 insns from sub-prog 'process_ssl_read_entry'
libbpf: prog 'probe_entry_SSL_read': insn #1 relocated, imm 2 points to subprog 'process_ssl_read_entry' (now at 4 offset)
libbpf: prog 'probe_ret_SSL_read': added 202 insns from sub-prog 'process_ssl_read_return'
libbpf: prog 'probe_ret_SSL_read': insn #1 relocated, imm 2 points to subprog 'process_ssl_read_return' (now at 4 offset)
libbpf: prog 'probe_entry_SSL_read_ex': added 150 insns from sub-prog 'process_ssl_read_entry'
libbpf: prog 'probe_entry_SSL_read_ex': insn #1 relocated, imm 2 points to subprog 'process_ssl_read_entry' (now at 4 offset)
libbpf: prog 'probe_ret_SSL_read_ex': added 202 insns from sub-prog 'process_ssl_read_return'
libbpf: prog 'probe_ret_SSL_read_ex': insn #1 relocated, imm 2 points to subprog 'process_ssl_read_return' (now at 4 offset)
libbpf: prog 'probe_entry_SSL_write': added 129 insns from sub-prog 'process_ssl_write_entry'
libbpf: prog 'probe_entry_SSL_write': insn #1 relocated, imm 2 points to subprog 'process_ssl_write_entry' (now at 4 offset)
libbpf: prog 'probe_ret_SSL_write': added 111 insns from sub-prog 'process_ssl_write_return'
libbpf: prog 'probe_ret_SSL_write': insn #1 relocated, imm 2 points to subprog 'process_ssl_write_return' (now at 4 offset)
libbpf: prog 'probe_entry_SSL_write_ex': added 129 insns from sub-prog 'process_ssl_write_entry'
libbpf: prog 'probe_entry_SSL_write_ex': insn #1 relocated, imm 2 points to subprog 'process_ssl_write_entry' (now at 4 offset)
libbpf: prog 'probe_ret_SSL_write_ex': added 111 insns from sub-prog 'process_ssl_write_return'
libbpf: prog 'probe_ret_SSL_write_ex': insn #1 relocated, imm 2 points to subprog 'process_ssl_write_return' (now at 4 offset)
libbpf: map 'data_events': created successfully, fd=3
libbpf: map 'intercepted_pids': created successfully, fd=7
libbpf: map 'active_connect_args_map': created successfully, fd=8
libbpf: map 'conn_infos': created successfully, fd=9
libbpf: map 'active_close_args_map': created successfully, fd=10
libbpf: map 'fd_map': created successfully, fd=11
libbpf: map 'active_sendto_args_map': created successfully, fd=12
libbpf: map 'active_recvfrom_args_map': created successfully, fd=13
libbpf: map 'active_write_args_map': created successfully, fd=14
libbpf: map 'active_read_args_map': created successfully, fd=15
libbpf: map 'ssl_fd_map': created successfully, fd=16
libbpf: map 'active_ssl_read_args_map': created successfully, fd=17
libbpf: map 'active_ssl_write_args_map': created successfully, fd=18
libbpf: map 'active_TLSWrap_memfn_this': created successfully, fd=19
libbpf: map 'offsets_map': created successfully, fd=20
libbpf: map 'libssl_versions_map': created successfully, fd=21
libbpf: map 'data_buffer_heap': created successfully, fd=22
libbpf: map 'active_go_read_args_map': created successfully, fd=23
libbpf: map 'main.bpf.rodata': created successfully, fd=24
libbpf: prog 'probe_entry_SSL_read': BPF program load failed: Invalid argument
libbpf: prog 'probe_entry_SSL_read': -- BEGIN PROG LOAD LOG --
0: R1=ctx() R10=fp0
; return process_ssl_read_entry(ctx, false); @ openssl_uprobes.h:185
0: (b7) r2 = 0                        ; R2_w=0
1: (85) call pc+2
invalid bpf_context access off=335 size=1
Caller passes invalid args into func#1 ('process_ssl_read_entry')
processed 2 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
-- END PROG LOAD LOG --
libbpf: prog 'probe_entry_SSL_read': failed to load: -22
libbpf: failed to load object 'main.bpf.o'
failed to load BPF object: invalid argument

@evanrolfe
Copy link
Owner

@papodaca thanks for the output, thats progress at least because it is now building for arm64 but failing at runtime. I believe the issue is that the ebpf files do not have #include <stdbool.h> so its unable to pass boolean args to functions. I'm not sure why this error only appears on arm64 arch, but I've just pushed an update to traycer/trayce_agent:0.0.2 which addresses this so could you do docker pull traycer/trayce_agent:0.0.2 and try running it again for me please?

@nrjais
Copy link

nrjais commented Aug 2, 2024

Still facing the issue with 0.0.2 image, just now I tried got error on M1

libbpf: loading object 'main.bpf.o' from buffer
libbpf: elf: section(2) .symtab, size 4704, link 1, flags 0, type=2
libbpf: elf: section(3) .text, size 6096, link 0, flags 6, type=1
libbpf: sec '.text': found program 'trayce_debug' at insn offset 0 (0 bytes), code size 74 insns (592 bytes)
libbpf: sec '.text': found program 'go_get_argument_by_reg' at insn offset 74 (592 bytes), code size 44 insns (352 bytes)
libbpf: sec '.text': found program 'go_get_argument_by_stack' at insn offset 118 (944 bytes), code size 12 insns (96 bytes)
libbpf: sec '.text': found program 'go_get_argument' at insn offset 130 (1040 bytes), code size 17 insns (136 bytes)
libbpf: sec '.text': found program 'process_ssl_read_entry' at insn offset 147 (1176 bytes), code size 150 insns (1200 bytes)
libbpf: sec '.text': found program 'process_ssl_read_return' at insn offset 297 (2376 bytes), code size 202 insns (1616 bytes)
libbpf: sec '.text': found program 'process_ssl_write_entry' at insn offset 499 (3992 bytes), code size 129 insns (1032 bytes)
libbpf: sec '.text': found program 'process_ssl_write_return' at insn offset 628 (5024 bytes), code size 111 insns (888 bytes)
libbpf: sec '.text': found program 'probe_entry_TLSWrap_memfn' at insn offset 739 (5912 bytes), code size 14 insns (112 bytes)
libbpf: sec '.text': found program 'probe_ret_TLSWrap_memfn' at insn offset 753 (6024 bytes), code size 9 insns (72 bytes)
libbpf: elf: section(4) kprobe/accept4, size 640, link 0, flags 6, type=1
libbpf: sec 'kprobe/accept4': found program 'probe_accept4' at insn offset 0 (0 bytes), code size 80 insns (640 bytes)
libbpf: elf: section(5) kretprobe/accept4, size 544, link 0, flags 6, type=1
libbpf: sec 'kretprobe/accept4': found program 'probe_ret_accept4' at insn offset 0 (0 bytes), code size 68 insns (544 bytes)
libbpf: elf: section(6) kprobe/close, size 328, link 0, flags 6, type=1
libbpf: sec 'kprobe/close': found program 'probe_close' at insn offset 0 (0 bytes), code size 41 insns (328 bytes)
libbpf: elf: section(7) kretprobe/close, size 272, link 0, flags 6, type=1
libbpf: sec 'kretprobe/close': found program 'probe_ret_close' at insn offset 0 (0 bytes), code size 34 insns (272 bytes)
libbpf: elf: section(8) kprobe/sendto, size 624, link 0, flags 6, type=1
libbpf: sec 'kprobe/sendto': found program 'probe_sendto' at insn offset 0 (0 bytes), code size 78 insns (624 bytes)
libbpf: elf: section(9) kretprobe/sendto, size 800, link 0, flags 6, type=1
libbpf: sec 'kretprobe/sendto': found program 'probe_ret_sendto' at insn offset 0 (0 bytes), code size 100 insns (800 bytes)
libbpf: elf: section(10) kprobe/recvfrom, size 632, link 0, flags 6, type=1
libbpf: sec 'kprobe/recvfrom': found program 'probe_recvfrom' at insn offset 0 (0 bytes), code size 79 insns (632 bytes)
libbpf: elf: section(11) kretprobe/recvfrom, size 800, link 0, flags 6, type=1
libbpf: sec 'kretprobe/recvfrom': found program 'probe_ret_recvfrom' at insn offset 0 (0 bytes), code size 100 insns (800 bytes)
libbpf: elf: section(12) kprobe/write, size 568, link 0, flags 6, type=1
libbpf: sec 'kprobe/write': found program 'probe_write' at insn offset 0 (0 bytes), code size 71 insns (568 bytes)
libbpf: elf: section(13) kretprobe/write, size 848, link 0, flags 6, type=1
libbpf: sec 'kretprobe/write': found program 'probe_ret_write' at insn offset 0 (0 bytes), code size 106 insns (848 bytes)
libbpf: elf: section(14) kprobe/read, size 496, link 0, flags 6, type=1
libbpf: sec 'kprobe/read': found program 'probe_read' at insn offset 0 (0 bytes), code size 62 insns (496 bytes)
libbpf: elf: section(15) kretprobe/read, size 848, link 0, flags 6, type=1
libbpf: sec 'kretprobe/read': found program 'probe_ret_read' at insn offset 0 (0 bytes), code size 106 insns (848 bytes)
libbpf: elf: section(16) uprobe/SSL_read, size 32, link 0, flags 6, type=1
libbpf: sec 'uprobe/SSL_read': found program 'probe_entry_SSL_read' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(17) uretprobe/SSL_read, size 32, link 0, flags 6, type=1
libbpf: sec 'uretprobe/SSL_read': found program 'probe_ret_SSL_read' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(18) uprobe/SSL_read_ex, size 32, link 0, flags 6, type=1
libbpf: sec 'uprobe/SSL_read_ex': found program 'probe_entry_SSL_read_ex' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(19) uretprobe/SSL_read_ex, size 32, link 0, flags 6, type=1
libbpf: sec 'uretprobe/SSL_read_ex': found program 'probe_ret_SSL_read_ex' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(20) uprobe/SSL_write, size 32, link 0, flags 6, type=1
libbpf: sec 'uprobe/SSL_write': found program 'probe_entry_SSL_write' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(21) uretprobe/SSL_write, size 32, link 0, flags 6, type=1
libbpf: sec 'uretprobe/SSL_write': found program 'probe_ret_SSL_write' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(22) uprobe/SSL_write_ex, size 32, link 0, flags 6, type=1
libbpf: sec 'uprobe/SSL_write_ex': found program 'probe_entry_SSL_write_ex' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(23) uretprobe/SSL_write_ex, size 32, link 0, flags 6, type=1
libbpf: sec 'uretprobe/SSL_write_ex': found program 'probe_ret_SSL_write_ex' at insn offset 0 (0 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(24) uprobe/gotls_write_register, size 1112, link 0, flags 6, type=1
libbpf: sec 'uprobe/gotls_write_register': found program 'probe_entry_go_tls_write' at insn offset 0 (0 bytes), code size 139 insns (1112 bytes)
libbpf: elf: section(25) uprobe/gotls_read_register, size 800, link 0, flags 6, type=1
libbpf: sec 'uprobe/gotls_read_register': found program 'probe_entry_go_tls_read' at insn offset 0 (0 bytes), code size 100 insns (800 bytes)
libbpf: elf: section(26) uprobe/gotls_exit_read_register, size 1136, link 0, flags 6, type=1
libbpf: sec 'uprobe/gotls_exit_read_register': found program 'probe_exit_go_tls_read' at insn offset 0 (0 bytes), code size 142 insns (1136 bytes)
libbpf: elf: section(27) .rodata, size 839, link 0, flags 2, type=1
libbpf: elf: section(28) .maps, size 560, link 0, flags 3, type=1
libbpf: elf: section(29) license, size 4, link 0, flags 3, type=1
libbpf: license of main.bpf.o is GPL
libbpf: elf: section(30) .rel.text, size 656, link 2, flags 40, type=9
libbpf: elf: section(31) .relkprobe/accept4, size 32, link 2, flags 40, type=9
libbpf: elf: section(32) .relkretprobe/accept4, size 80, link 2, flags 40, type=9
libbpf: elf: section(33) .relkprobe/close, size 32, link 2, flags 40, type=9
libbpf: elf: section(34) .relkretprobe/close, size 64, link 2, flags 40, type=9
libbpf: elf: section(35) .relkprobe/sendto, size 64, link 2, flags 40, type=9
libbpf: elf: section(36) .relkretprobe/sendto, size 64, link 2, flags 40, type=9
libbpf: elf: section(37) .relkprobe/recvfrom, size 64, link 2, flags 40, type=9
libbpf: elf: section(38) .relkretprobe/recvfrom, size 64, link 2, flags 40, type=9
libbpf: elf: section(39) .relkprobe/write, size 64, link 2, flags 40, type=9
libbpf: elf: section(40) .relkretprobe/write, size 64, link 2, flags 40, type=9
libbpf: elf: section(41) .relkprobe/read, size 48, link 2, flags 40, type=9
libbpf: elf: section(42) .relkretprobe/read, size 64, link 2, flags 40, type=9
libbpf: elf: section(43) .reluprobe/SSL_read, size 16, link 2, flags 40, type=9
libbpf: elf: section(44) .reluretprobe/SSL_read, size 16, link 2, flags 40, type=9
libbpf: elf: section(45) .reluprobe/SSL_read_ex, size 16, link 2, flags 40, type=9
libbpf: elf: section(46) .reluretprobe/SSL_read_ex, size 16, link 2, flags 40, type=9
libbpf: elf: section(47) .reluprobe/SSL_write, size 16, link 2, flags 40, type=9
libbpf: elf: section(48) .reluretprobe/SSL_write, size 16, link 2, flags 40, type=9
libbpf: elf: section(49) .reluprobe/SSL_write_ex, size 16, link 2, flags 40, type=9
libbpf: elf: section(50) .reluretprobe/SSL_write_ex, size 16, link 2, flags 40, type=9
libbpf: elf: section(51) .reluprobe/gotls_write_register, size 48, link 2, flags 40, type=9
libbpf: elf: section(52) .reluprobe/gotls_read_register, size 48, link 2, flags 40, type=9
libbpf: elf: section(53) .reluprobe/gotls_exit_read_register, size 80, link 2, flags 40, type=9
libbpf: elf: section(54) .BTF, size 21123, link 0, flags 0, type=1
libbpf: elf: section(55) .BTF.ext, size 15380, link 0, flags 0, type=1
libbpf: looking for externs among 196 symbols...
libbpf: collected 0 externs total
libbpf: map 'data_events': at sec_idx 28, offset 0.
libbpf: map 'data_events': found type = 27.
libbpf: map 'data_events': found max_entries = 262144.
libbpf: map 'intercepted_pids': at sec_idx 28, offset 16.
libbpf: map 'intercepted_pids': found type = 1.
libbpf: map 'intercepted_pids': found key [12], sz = 4.
libbpf: map 'intercepted_pids': found value [12], sz = 4.
libbpf: map 'intercepted_pids': found max_entries = 1024.
libbpf: map 'active_connect_args_map': at sec_idx 28, offset 48.
libbpf: map 'active_connect_args_map': found type = 1.
libbpf: map 'active_connect_args_map': found key [20], sz = 8.
libbpf: map 'active_connect_args_map': found value [24], sz = 48.
libbpf: map 'active_connect_args_map': found max_entries = 1024.
libbpf: map 'conn_infos': at sec_idx 28, offset 80.
libbpf: map 'conn_infos': found type = 1.
libbpf: map 'conn_infos': found key [20], sz = 8.
libbpf: map 'conn_infos': found value [24], sz = 48.
libbpf: map 'conn_infos': found max_entries = 1024.
libbpf: map 'active_close_args_map': at sec_idx 28, offset 112.
libbpf: map 'active_close_args_map': found type = 1.
libbpf: map 'active_close_args_map': found key [20], sz = 8.
libbpf: map 'active_close_args_map': found value [33], sz = 32.
libbpf: map 'active_close_args_map': found max_entries = 1024.
libbpf: map 'fd_map': at sec_idx 28, offset 144.
libbpf: map 'fd_map': found type = 1.
libbpf: map 'fd_map': found key [20], sz = 8.
libbpf: map 'fd_map': found value [12], sz = 4.
libbpf: map 'fd_map': found max_entries = 1024.
libbpf: map 'active_sendto_args_map': at sec_idx 28, offset 176.
libbpf: map 'active_sendto_args_map': found type = 1.
libbpf: map 'active_sendto_args_map': found key [20], sz = 8.
libbpf: map 'active_sendto_args_map': found value [39], sz = 48.
libbpf: map 'active_sendto_args_map': found max_entries = 1024.
libbpf: map 'active_recvfrom_args_map': at sec_idx 28, offset 208.
libbpf: map 'active_recvfrom_args_map': found type = 1.
libbpf: map 'active_recvfrom_args_map': found key [20], sz = 8.
libbpf: map 'active_recvfrom_args_map': found value [39], sz = 48.
libbpf: map 'active_recvfrom_args_map': found max_entries = 1024.
libbpf: map 'active_write_args_map': at sec_idx 28, offset 240.
libbpf: map 'active_write_args_map': found type = 1.
libbpf: map 'active_write_args_map': found key [20], sz = 8.
libbpf: map 'active_write_args_map': found value [39], sz = 48.
libbpf: map 'active_write_args_map': found max_entries = 1024.
libbpf: map 'active_read_args_map': at sec_idx 28, offset 272.
libbpf: map 'active_read_args_map': found type = 1.
libbpf: map 'active_read_args_map': found key [20], sz = 8.
libbpf: map 'active_read_args_map': found value [39], sz = 48.
libbpf: map 'active_read_args_map': found max_entries = 1024.
libbpf: map 'ssl_fd_map': at sec_idx 28, offset 304.
libbpf: map 'ssl_fd_map': found type = 1.
libbpf: map 'ssl_fd_map': found key [20], sz = 8.
libbpf: map 'ssl_fd_map': found value [12], sz = 4.
libbpf: map 'ssl_fd_map': found max_entries = 1024.
libbpf: map 'active_ssl_read_args_map': at sec_idx 28, offset 336.
libbpf: map 'active_ssl_read_args_map': found type = 1.
libbpf: map 'active_ssl_read_args_map': found key [20], sz = 8.
libbpf: map 'active_ssl_read_args_map': found value [39], sz = 48.
libbpf: map 'active_ssl_read_args_map': found max_entries = 1024.
libbpf: map 'active_ssl_write_args_map': at sec_idx 28, offset 368.
libbpf: map 'active_ssl_write_args_map': found type = 1.
libbpf: map 'active_ssl_write_args_map': found key [20], sz = 8.
libbpf: map 'active_ssl_write_args_map': found value [39], sz = 48.
libbpf: map 'active_ssl_write_args_map': found max_entries = 1024.
libbpf: map 'active_TLSWrap_memfn_this': at sec_idx 28, offset 400.
libbpf: map 'active_TLSWrap_memfn_this': found type = 1.
libbpf: map 'active_TLSWrap_memfn_this': found key [20], sz = 8.
libbpf: map 'active_TLSWrap_memfn_this': found value [61], sz = 8.
libbpf: map 'active_TLSWrap_memfn_this': found max_entries = 1024.
libbpf: map 'offsets_map': at sec_idx 28, offset 432.
libbpf: map 'offsets_map': found type = 1.
libbpf: map 'offsets_map': found key [12], sz = 4.
libbpf: map 'offsets_map': found value [65], sz = 8.
libbpf: map 'offsets_map': found max_entries = 1024.
libbpf: map 'libssl_versions_map': at sec_idx 28, offset 464.
libbpf: map 'libssl_versions_map': found type = 1.
libbpf: map 'libssl_versions_map': found key [12], sz = 4.
libbpf: map 'libssl_versions_map': found value [65], sz = 8.
libbpf: map 'libssl_versions_map': found max_entries = 1024.
libbpf: map 'data_buffer_heap': at sec_idx 28, offset 496.
libbpf: map 'data_buffer_heap': found type = 6.
libbpf: map 'data_buffer_heap': found key [12], sz = 4.
libbpf: map 'data_buffer_heap': found value [72], sz = 4168.
libbpf: map 'data_buffer_heap': found max_entries = 1.
libbpf: map 'active_go_read_args_map': at sec_idx 28, offset 528.
libbpf: map 'active_go_read_args_map': found type = 1.
libbpf: map 'active_go_read_args_map': found key [20], sz = 8.
libbpf: map 'active_go_read_args_map': found value [78], sz = 16.
libbpf: map 'active_go_read_args_map': found max_entries = 1024.
libbpf: map 'main.bpf.rodata' (global data): at sec_idx 27, offset 0, flags 480.
libbpf: map 18 is "main.bpf.rodata"
libbpf: sec '.rel.text': collecting relocation for section(3) '.text'
libbpf: sec '.rel.text': relo #0: insn #67 against 'data_events'
libbpf: prog 'trayce_debug': found map 0 (data_events, sec 28, off 0) for insn #67
libbpf: sec '.rel.text': relo #1: insn #132 against 'go_get_argument_by_reg'
libbpf: sec '.rel.text': relo #2: insn #155 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 8
libbpf: sec '.rel.text': relo #3: insn #162 against 'intercepted_pids'
libbpf: prog 'process_ssl_read_entry': found map 1 (intercepted_pids, sec 28, off 16) for insn #15
libbpf: sec '.rel.text': relo #4: insn #177 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 30
libbpf: sec '.rel.text': relo #5: insn #188 against 'libssl_versions_map'
libbpf: prog 'process_ssl_read_entry': found map 15 (libssl_versions_map, sec 28, off 464) for insn #41
libbpf: sec '.rel.text': relo #6: insn #205 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 58
libbpf: sec '.rel.text': relo #7: insn #221 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 74
libbpf: sec '.rel.text': relo #8: insn #227 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 80
libbpf: sec '.rel.text': relo #9: insn #236 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 89
libbpf: sec '.rel.text': relo #10: insn #243 against 'fd_map'
libbpf: prog 'process_ssl_read_entry': found map 5 (fd_map, sec 28, off 144) for insn #96
libbpf: sec '.rel.text': relo #11: insn #250 against '.rodata'
libbpf: prog 'process_ssl_read_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 103
libbpf: sec '.rel.text': relo #12: insn #263 against 'ssl_fd_map'
libbpf: prog 'process_ssl_read_entry': found map 10 (ssl_fd_map, sec 28, off 304) for insn #116
libbpf: sec '.rel.text': relo #13: insn #291 against 'active_ssl_read_args_map'
libbpf: prog 'process_ssl_read_entry': found map 11 (active_ssl_read_args_map, sec 28, off 336) for insn #144
libbpf: sec '.rel.text': relo #14: insn #304 against 'active_ssl_read_args_map'
libbpf: prog 'process_ssl_read_return': found map 11 (active_ssl_read_args_map, sec 28, off 336) for insn #7
libbpf: sec '.rel.text': relo #15: insn #322 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 25
libbpf: sec '.rel.text': relo #16: insn #333 against 'libssl_versions_map'
libbpf: prog 'process_ssl_read_return': found map 15 (libssl_versions_map, sec 28, off 464) for insn #36
libbpf: sec '.rel.text': relo #17: insn #349 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 52
libbpf: sec '.rel.text': relo #18: insn #365 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 68
libbpf: sec '.rel.text': relo #19: insn #371 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 74
libbpf: sec '.rel.text': relo #20: insn #380 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 83
libbpf: sec '.rel.text': relo #21: insn #387 against 'fd_map'
libbpf: prog 'process_ssl_read_return': found map 5 (fd_map, sec 28, off 144) for insn #90
libbpf: sec '.rel.text': relo #22: insn #392 against '.rodata'
libbpf: prog 'process_ssl_read_return': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 95
libbpf: sec '.rel.text': relo #23: insn #449 against 'data_events'
libbpf: prog 'process_ssl_read_return': found map 0 (data_events, sec 28, off 0) for insn #152
libbpf: sec '.rel.text': relo #24: insn #471 against 'active_ssl_read_args_map'
libbpf: prog 'process_ssl_read_return': found map 11 (active_ssl_read_args_map, sec 28, off 336) for insn #174
libbpf: sec '.rel.text': relo #25: insn #480 against 'data_buffer_heap'
libbpf: prog 'process_ssl_read_return': found map 16 (data_buffer_heap, sec 28, off 496) for insn #183
libbpf: sec '.rel.text': relo #26: insn #506 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 7
libbpf: sec '.rel.text': relo #27: insn #513 against 'intercepted_pids'
libbpf: prog 'process_ssl_write_entry': found map 1 (intercepted_pids, sec 28, off 16) for insn #14
libbpf: sec '.rel.text': relo #28: insn #530 against 'libssl_versions_map'
libbpf: prog 'process_ssl_write_entry': found map 15 (libssl_versions_map, sec 28, off 464) for insn #31
libbpf: sec '.rel.text': relo #29: insn #547 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 48
libbpf: sec '.rel.text': relo #30: insn #563 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 64
libbpf: sec '.rel.text': relo #31: insn #569 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 70
libbpf: sec '.rel.text': relo #32: insn #580 against 'ssl_fd_map'
libbpf: prog 'process_ssl_write_entry': found map 10 (ssl_fd_map, sec 28, off 304) for insn #81
libbpf: sec '.rel.text': relo #33: insn #612 against '.rodata'
libbpf: prog 'process_ssl_write_entry': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 113
libbpf: sec '.rel.text': relo #34: insn #622 against 'active_ssl_write_args_map'
libbpf: prog 'process_ssl_write_entry': found map 12 (active_ssl_write_args_map, sec 28, off 368) for insn #123
libbpf: sec '.rel.text': relo #35: insn #634 against 'active_ssl_write_args_map'
libbpf: prog 'process_ssl_write_return': found map 12 (active_ssl_write_args_map, sec 28, off 368) for insn #6
libbpf: sec '.rel.text': relo #36: insn #690 against 'data_events'
libbpf: prog 'process_ssl_write_return': found map 0 (data_events, sec 28, off 0) for insn #62
libbpf: sec '.rel.text': relo #37: insn #712 against 'active_ssl_write_args_map'
libbpf: prog 'process_ssl_write_return': found map 12 (active_ssl_write_args_map, sec 28, off 368) for insn #84
libbpf: sec '.rel.text': relo #38: insn #722 against 'data_buffer_heap'
libbpf: prog 'process_ssl_write_return': found map 16 (data_buffer_heap, sec 28, off 496) for insn #94
libbpf: sec '.rel.text': relo #39: insn #747 against 'active_TLSWrap_memfn_this'
libbpf: prog 'probe_entry_TLSWrap_memfn': found map 13 (active_TLSWrap_memfn_this, sec 28, off 400) for insn #8
libbpf: sec '.rel.text': relo #40: insn #757 against 'active_TLSWrap_memfn_this'
libbpf: prog 'probe_ret_TLSWrap_memfn': found map 13 (active_TLSWrap_memfn_this, sec 28, off 400) for insn #4
libbpf: sec '.relkprobe/accept4': collecting relocation for section(4) 'kprobe/accept4'
libbpf: sec '.relkprobe/accept4': relo #0: insn #9 against 'intercepted_pids'
libbpf: prog 'probe_accept4': found map 1 (intercepted_pids, sec 28, off 16) for insn #9
libbpf: sec '.relkprobe/accept4': relo #1: insn #74 against 'active_connect_args_map'
libbpf: prog 'probe_accept4': found map 2 (active_connect_args_map, sec 28, off 48) for insn #74
libbpf: sec '.relkretprobe/accept4': collecting relocation for section(5) 'kretprobe/accept4'
libbpf: sec '.relkretprobe/accept4': relo #0: insn #12 against 'active_connect_args_map'
libbpf: prog 'probe_ret_accept4': found map 2 (active_connect_args_map, sec 28, off 48) for insn #12
libbpf: sec '.relkretprobe/accept4': relo #1: insn #43 against 'conn_infos'
libbpf: prog 'probe_ret_accept4': found map 3 (conn_infos, sec 28, off 80) for insn #43
libbpf: sec '.relkretprobe/accept4': relo #2: insn #48 against 'data_events'
libbpf: prog 'probe_ret_accept4': found map 0 (data_events, sec 28, off 0) for insn #48
libbpf: sec '.relkretprobe/accept4': relo #3: insn #55 against '.rodata'
libbpf: prog 'probe_ret_accept4': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 55
libbpf: sec '.relkretprobe/accept4': relo #4: insn #63 against 'active_connect_args_map'
libbpf: prog 'probe_ret_accept4': found map 2 (active_connect_args_map, sec 28, off 48) for insn #63
libbpf: sec '.relkprobe/close': collecting relocation for section(6) 'kprobe/close'
libbpf: sec '.relkprobe/close': relo #0: insn #9 against 'intercepted_pids'
libbpf: prog 'probe_close': found map 1 (intercepted_pids, sec 28, off 16) for insn #9
libbpf: sec '.relkprobe/close': relo #1: insn #35 against 'active_close_args_map'
libbpf: prog 'probe_close': found map 4 (active_close_args_map, sec 28, off 112) for insn #35
libbpf: sec '.relkretprobe/close': collecting relocation for section(7) 'kretprobe/close'
libbpf: sec '.relkretprobe/close': relo #0: insn #9 against 'active_close_args_map'
libbpf: prog 'probe_ret_close': found map 4 (active_close_args_map, sec 28, off 112) for insn #9
libbpf: sec '.relkretprobe/close': relo #1: insn #14 against 'data_events'
libbpf: prog 'probe_ret_close': found map 0 (data_events, sec 28, off 0) for insn #14
libbpf: sec '.relkretprobe/close': relo #2: insn #24 against 'conn_infos'
libbpf: prog 'probe_ret_close': found map 3 (conn_infos, sec 28, off 80) for insn #24
libbpf: sec '.relkretprobe/close': relo #3: insn #29 against 'active_close_args_map'
libbpf: prog 'probe_ret_close': found map 4 (active_close_args_map, sec 28, off 112) for insn #29
libbpf: sec '.relkprobe/sendto': collecting relocation for section(8) 'kprobe/sendto'
libbpf: sec '.relkprobe/sendto': relo #0: insn #7 against 'intercepted_pids'
libbpf: prog 'probe_sendto': found map 1 (intercepted_pids, sec 28, off 16) for insn #7
libbpf: sec '.relkprobe/sendto': relo #1: insn #22 against '.rodata'
libbpf: prog 'probe_sendto': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 22
libbpf: sec '.relkprobe/sendto': relo #2: insn #29 against 'fd_map'
libbpf: prog 'probe_sendto': found map 5 (fd_map, sec 28, off 144) for insn #29
libbpf: sec '.relkprobe/sendto': relo #3: insn #72 against 'active_sendto_args_map'
libbpf: prog 'probe_sendto': found map 6 (active_sendto_args_map, sec 28, off 176) for insn #72
libbpf: sec '.relkretprobe/sendto': collecting relocation for section(9) 'kretprobe/sendto'
libbpf: sec '.relkretprobe/sendto': relo #0: insn #5 against 'active_sendto_args_map'
libbpf: prog 'probe_ret_sendto': found map 6 (active_sendto_args_map, sec 28, off 176) for insn #5
libbpf: sec '.relkretprobe/sendto': relo #1: insn #51 against 'data_events'
libbpf: prog 'probe_ret_sendto': found map 0 (data_events, sec 28, off 0) for insn #51
libbpf: sec '.relkretprobe/sendto': relo #2: insn #73 against 'active_sendto_args_map'
libbpf: prog 'probe_ret_sendto': found map 6 (active_sendto_args_map, sec 28, off 176) for insn #73
libbpf: sec '.relkretprobe/sendto': relo #3: insn #83 against 'data_buffer_heap'
libbpf: prog 'probe_ret_sendto': found map 16 (data_buffer_heap, sec 28, off 496) for insn #83
libbpf: sec '.relkprobe/recvfrom': collecting relocation for section(10) 'kprobe/recvfrom'
libbpf: sec '.relkprobe/recvfrom': relo #0: insn #7 against 'intercepted_pids'
libbpf: prog 'probe_recvfrom': found map 1 (intercepted_pids, sec 28, off 16) for insn #7
libbpf: sec '.relkprobe/recvfrom': relo #1: insn #22 against '.rodata'
libbpf: prog 'probe_recvfrom': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 22
libbpf: sec '.relkprobe/recvfrom': relo #2: insn #29 against 'fd_map'
libbpf: prog 'probe_recvfrom': found map 5 (fd_map, sec 28, off 144) for insn #29
libbpf: sec '.relkprobe/recvfrom': relo #3: insn #73 against 'active_recvfrom_args_map'
libbpf: prog 'probe_recvfrom': found map 7 (active_recvfrom_args_map, sec 28, off 208) for insn #73
libbpf: sec '.relkretprobe/recvfrom': collecting relocation for section(11) 'kretprobe/recvfrom'
libbpf: sec '.relkretprobe/recvfrom': relo #0: insn #5 against 'active_recvfrom_args_map'
libbpf: prog 'probe_ret_recvfrom': found map 7 (active_recvfrom_args_map, sec 28, off 208) for insn #5
libbpf: sec '.relkretprobe/recvfrom': relo #1: insn #51 against 'data_events'
libbpf: prog 'probe_ret_recvfrom': found map 0 (data_events, sec 28, off 0) for insn #51
libbpf: sec '.relkretprobe/recvfrom': relo #2: insn #73 against 'active_recvfrom_args_map'
libbpf: prog 'probe_ret_recvfrom': found map 7 (active_recvfrom_args_map, sec 28, off 208) for insn #73
libbpf: sec '.relkretprobe/recvfrom': relo #3: insn #83 against 'data_buffer_heap'
libbpf: prog 'probe_ret_recvfrom': found map 16 (data_buffer_heap, sec 28, off 496) for insn #83
libbpf: sec '.relkprobe/write': collecting relocation for section(12) 'kprobe/write'
libbpf: sec '.relkprobe/write': relo #0: insn #7 against 'intercepted_pids'
libbpf: prog 'probe_write': found map 1 (intercepted_pids, sec 28, off 16) for insn #7
libbpf: sec '.relkprobe/write': relo #1: insn #23 against 'fd_map'
libbpf: prog 'probe_write': found map 5 (fd_map, sec 28, off 144) for insn #23
libbpf: sec '.relkprobe/write': relo #2: insn #57 against 'active_write_args_map'
libbpf: prog 'probe_write': found map 8 (active_write_args_map, sec 28, off 240) for insn #57
libbpf: sec '.relkprobe/write': relo #3: insn #65 against '.rodata'
libbpf: prog 'probe_write': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 65
libbpf: sec '.relkretprobe/write': collecting relocation for section(13) 'kretprobe/write'
libbpf: sec '.relkretprobe/write': relo #0: insn #10 against 'active_write_args_map'
libbpf: prog 'probe_ret_write': found map 8 (active_write_args_map, sec 28, off 240) for insn #10
libbpf: sec '.relkretprobe/write': relo #1: insn #56 against 'data_events'
libbpf: prog 'probe_ret_write': found map 0 (data_events, sec 28, off 0) for insn #56
libbpf: sec '.relkretprobe/write': relo #2: insn #78 against 'active_write_args_map'
libbpf: prog 'probe_ret_write': found map 8 (active_write_args_map, sec 28, off 240) for insn #78
libbpf: sec '.relkretprobe/write': relo #3: insn #87 against 'data_buffer_heap'
libbpf: prog 'probe_ret_write': found map 16 (data_buffer_heap, sec 28, off 496) for insn #87
libbpf: sec '.relkprobe/read': collecting relocation for section(14) 'kprobe/read'
libbpf: sec '.relkprobe/read': relo #0: insn #7 against 'intercepted_pids'
libbpf: prog 'probe_read': found map 1 (intercepted_pids, sec 28, off 16) for insn #7
libbpf: sec '.relkprobe/read': relo #1: insn #50 against 'active_read_args_map'
libbpf: prog 'probe_read': found map 9 (active_read_args_map, sec 28, off 272) for insn #50
libbpf: sec '.relkprobe/read': relo #2: insn #56 against '.rodata'
libbpf: prog 'probe_read': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 56
libbpf: sec '.relkretprobe/read': collecting relocation for section(15) 'kretprobe/read'
libbpf: sec '.relkretprobe/read': relo #0: insn #10 against 'active_read_args_map'
libbpf: prog 'probe_ret_read': found map 9 (active_read_args_map, sec 28, off 272) for insn #10
libbpf: sec '.relkretprobe/read': relo #1: insn #56 against 'data_events'
libbpf: prog 'probe_ret_read': found map 0 (data_events, sec 28, off 0) for insn #56
libbpf: sec '.relkretprobe/read': relo #2: insn #78 against 'active_read_args_map'
libbpf: prog 'probe_ret_read': found map 9 (active_read_args_map, sec 28, off 272) for insn #78
libbpf: sec '.relkretprobe/read': relo #3: insn #87 against 'data_buffer_heap'
libbpf: prog 'probe_ret_read': found map 16 (data_buffer_heap, sec 28, off 496) for insn #87
libbpf: sec '.reluprobe/SSL_read': collecting relocation for section(16) 'uprobe/SSL_read'
libbpf: sec '.reluprobe/SSL_read': relo #0: insn #1 against 'process_ssl_read_entry'
libbpf: sec '.reluretprobe/SSL_read': collecting relocation for section(17) 'uretprobe/SSL_read'
libbpf: sec '.reluretprobe/SSL_read': relo #0: insn #1 against 'process_ssl_read_return'
libbpf: sec '.reluprobe/SSL_read_ex': collecting relocation for section(18) 'uprobe/SSL_read_ex'
libbpf: sec '.reluprobe/SSL_read_ex': relo #0: insn #1 against 'process_ssl_read_entry'
libbpf: sec '.reluretprobe/SSL_read_ex': collecting relocation for section(19) 'uretprobe/SSL_read_ex'
libbpf: sec '.reluretprobe/SSL_read_ex': relo #0: insn #1 against 'process_ssl_read_return'
libbpf: sec '.reluprobe/SSL_write': collecting relocation for section(20) 'uprobe/SSL_write'
libbpf: sec '.reluprobe/SSL_write': relo #0: insn #1 against 'process_ssl_write_entry'
libbpf: sec '.reluretprobe/SSL_write': collecting relocation for section(21) 'uretprobe/SSL_write'
libbpf: sec '.reluretprobe/SSL_write': relo #0: insn #1 against 'process_ssl_write_return'
libbpf: sec '.reluprobe/SSL_write_ex': collecting relocation for section(22) 'uprobe/SSL_write_ex'
libbpf: sec '.reluprobe/SSL_write_ex': relo #0: insn #1 against 'process_ssl_write_entry'
libbpf: sec '.reluretprobe/SSL_write_ex': collecting relocation for section(23) 'uretprobe/SSL_write_ex'
libbpf: sec '.reluretprobe/SSL_write_ex': relo #0: insn #1 against 'process_ssl_write_return'
libbpf: sec '.reluprobe/gotls_write_register': collecting relocation for section(24) 'uprobe/gotls_write_register'
libbpf: sec '.reluprobe/gotls_write_register': relo #0: insn #33 against 'offsets_map'
libbpf: prog 'probe_entry_go_tls_write': found map 14 (offsets_map, sec 28, off 432) for insn #33
libbpf: sec '.reluprobe/gotls_write_register': relo #1: insn #95 against 'data_events'
libbpf: prog 'probe_entry_go_tls_write': found map 0 (data_events, sec 28, off 0) for insn #95
libbpf: sec '.reluprobe/gotls_write_register': relo #2: insn #122 against 'data_buffer_heap'
libbpf: prog 'probe_entry_go_tls_write': found map 16 (data_buffer_heap, sec 28, off 496) for insn #122
libbpf: sec '.reluprobe/gotls_read_register': collecting relocation for section(25) 'uprobe/gotls_read_register'
libbpf: sec '.reluprobe/gotls_read_register': relo #0: insn #25 against 'offsets_map'
libbpf: prog 'probe_entry_go_tls_read': found map 14 (offsets_map, sec 28, off 432) for insn #25
libbpf: sec '.reluprobe/gotls_read_register': relo #1: insn #56 against '.rodata'
libbpf: prog 'probe_entry_go_tls_read': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 56
libbpf: sec '.reluprobe/gotls_read_register': relo #2: insn #94 against 'active_go_read_args_map'
libbpf: prog 'probe_entry_go_tls_read': found map 17 (active_go_read_args_map, sec 28, off 528) for insn #94
libbpf: sec '.reluprobe/gotls_exit_read_register': collecting relocation for section(26) 'uprobe/gotls_exit_read_register'
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #0: insn #23 against 'active_go_read_args_map'
libbpf: prog 'probe_exit_go_tls_read': found map 17 (active_go_read_args_map, sec 28, off 528) for insn #23
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #1: insn #58 against '.rodata'
libbpf: prog 'probe_exit_go_tls_read': found data map 18 (main.bpf.rodata, sec 27, off 0) for insn 58
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #2: insn #92 against 'data_events'
libbpf: prog 'probe_exit_go_tls_read': found map 0 (data_events, sec 28, off 0) for insn #92
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #3: insn #114 against 'active_go_read_args_map'
libbpf: prog 'probe_exit_go_tls_read': found map 17 (active_go_read_args_map, sec 28, off 528) for insn #114
libbpf: sec '.reluprobe/gotls_exit_read_register': relo #4: insn #123 against 'data_buffer_heap'
libbpf: prog 'probe_exit_go_tls_read': found map 16 (data_buffer_heap, sec 28, off 496) for insn #123
libbpf: object 'main.bpf.o': failed (-22) to create BPF token from '/sys/fs/bpf', skipping optional step...
libbpf: sec '.text': found 22 CO-RE relocations
libbpf: CO-RE relocating [85] struct pt_regs: found target candidate [2758] struct pt_regs in [vmlinux]
libbpf: prog 'go_get_argument_by_reg': relo #0: <byte_off> [85] struct pt_regs.bx (0:5 @ offset 40)
libbpf: prog 'go_get_argument_by_reg': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #0: no matching targets found
libbpf: prog 'go_get_argument_by_reg': relo #0: substituting insn #9 w/ invalid insn
libbpf: prog 'go_get_argument_by_reg': relo #1: <byte_off> [85] struct pt_regs.r8 (0:9 @ offset 72)
libbpf: prog 'go_get_argument_by_reg': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #1: no matching targets found
libbpf: prog 'go_get_argument_by_reg': relo #1: substituting insn #15 w/ invalid insn
libbpf: prog 'go_get_argument_by_reg': relo #2: <byte_off> [85] struct pt_regs.r11 (0:6 @ offset 48)
libbpf: prog 'go_get_argument_by_reg': relo #2: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #2: no matching targets found
libbpf: prog 'go_get_argument_by_reg': relo #2: substituting insn #21 w/ invalid insn
libbpf: prog 'go_get_argument_by_reg': relo #3: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'go_get_argument_by_reg': relo #3: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #3: no matching targets found
libbpf: prog 'go_get_argument_by_reg': relo #3: substituting insn #26 w/ invalid insn
libbpf: prog 'go_get_argument_by_reg': relo #4: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'go_get_argument_by_reg': relo #4: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #4: no matching targets found
libbpf: prog 'go_get_argument_by_reg': relo #4: substituting insn #28 w/ invalid insn
libbpf: prog 'go_get_argument_by_reg': relo #5: <byte_off> [85] struct pt_regs.si (0:13 @ offset 104)
libbpf: prog 'go_get_argument_by_reg': relo #5: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #5: no matching targets found
libbpf: prog 'go_get_argument_by_reg': relo #5: substituting insn #30 w/ invalid insn
libbpf: prog 'go_get_argument_by_reg': relo #6: <byte_off> [85] struct pt_regs.r9 (0:8 @ offset 64)
libbpf: prog 'go_get_argument_by_reg': relo #6: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #6: no matching targets found
libbpf: prog 'go_get_argument_by_reg': relo #6: substituting insn #32 w/ invalid insn
libbpf: prog 'go_get_argument_by_reg': relo #7: <byte_off> [85] struct pt_regs.r10 (0:7 @ offset 56)
libbpf: prog 'go_get_argument_by_reg': relo #7: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #7: no matching targets found
libbpf: prog 'go_get_argument_by_reg': relo #7: substituting insn #34 w/ invalid insn
libbpf: prog 'go_get_argument_by_reg': relo #8: <byte_off> [85] struct pt_regs.cx (0:11 @ offset 88)
libbpf: prog 'go_get_argument_by_reg': relo #8: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'go_get_argument_by_reg': relo #8: no matching targets found
libbpf: prog 'go_get_argument_by_reg': relo #8: substituting insn #36 w/ invalid insn
libbpf: prog 'go_get_argument_by_stack': relo #9: <byte_off> [85] struct pt_regs.sp (0:19 @ offset 152)
libbpf: prog 'go_get_argument_by_stack': relo #9: matching candidate #0 <byte_off> [2758] struct pt_regs.sp (0:0:1:1 @ offset 248)
libbpf: prog 'go_get_argument_by_stack': relo #9: patched insn #2 (LDX/ST/STX) off 152 -> 248
libbpf: prog 'go_get_argument': relo #10: <byte_off> [85] struct pt_regs.sp (0:19 @ offset 152)
libbpf: prog 'go_get_argument': relo #10: matching candidate #0 <byte_off> [2758] struct pt_regs.sp (0:0:1:1 @ offset 248)
libbpf: prog 'go_get_argument': relo #10: patched insn #6 (LDX/ST/STX) off 152 -> 248
libbpf: prog 'process_ssl_read_entry': relo #11: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'process_ssl_read_entry': relo #11: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_read_entry': relo #11: no matching targets found
libbpf: prog 'process_ssl_read_entry': relo #11: substituting insn #20 w/ invalid insn
libbpf: prog 'process_ssl_read_entry': relo #12: <byte_off> [85] struct pt_regs.si (0:13 @ offset 104)
libbpf: prog 'process_ssl_read_entry': relo #12: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_read_entry': relo #12: no matching targets found
libbpf: prog 'process_ssl_read_entry': relo #12: substituting insn #126 w/ invalid insn
libbpf: prog 'process_ssl_read_entry': relo #13: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'process_ssl_read_entry': relo #13: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_read_entry': relo #13: no matching targets found
libbpf: prog 'process_ssl_read_entry': relo #13: substituting insn #133 w/ invalid insn
libbpf: prog 'process_ssl_read_entry': relo #14: <byte_off> [85] struct pt_regs.cx (0:11 @ offset 88)
libbpf: prog 'process_ssl_read_entry': relo #14: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_read_entry': relo #14: no matching targets found
libbpf: prog 'process_ssl_read_entry': relo #14: substituting insn #138 w/ invalid insn
libbpf: prog 'process_ssl_read_return': relo #15: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'process_ssl_read_return': relo #15: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_read_return': relo #15: no matching targets found
libbpf: prog 'process_ssl_read_return': relo #15: substituting insn #99 w/ invalid insn
libbpf: prog 'process_ssl_read_return': relo #16: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'process_ssl_read_return': relo #16: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_read_return': relo #16: no matching targets found
libbpf: prog 'process_ssl_read_return': relo #16: substituting insn #108 w/ invalid insn
libbpf: prog 'process_ssl_write_entry': relo #17: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'process_ssl_write_entry': relo #17: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_write_entry': relo #17: no matching targets found
libbpf: prog 'process_ssl_write_entry': relo #17: substituting insn #19 w/ invalid insn
libbpf: prog 'process_ssl_write_entry': relo #18: <byte_off> [85] struct pt_regs.si (0:13 @ offset 104)
libbpf: prog 'process_ssl_write_entry': relo #18: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_write_entry': relo #18: no matching targets found
libbpf: prog 'process_ssl_write_entry': relo #18: substituting insn #95 w/ invalid insn
libbpf: prog 'process_ssl_write_entry': relo #19: <byte_off> [85] struct pt_regs.cx (0:11 @ offset 88)
libbpf: prog 'process_ssl_write_entry': relo #19: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_write_entry': relo #19: no matching targets found
libbpf: prog 'process_ssl_write_entry': relo #19: substituting insn #106 w/ invalid insn
libbpf: prog 'process_ssl_write_return': relo #20: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'process_ssl_write_return': relo #20: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'process_ssl_write_return': relo #20: no matching targets found
libbpf: prog 'process_ssl_write_return': relo #20: substituting insn #27 w/ invalid insn
libbpf: prog 'probe_entry_TLSWrap_memfn': relo #21: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_entry_TLSWrap_memfn': relo #21: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_entry_TLSWrap_memfn': relo #21: no matching targets found
libbpf: prog 'probe_entry_TLSWrap_memfn': relo #21: substituting insn #0 w/ invalid insn
libbpf: sec 'kprobe/accept4': found 6 CO-RE relocations
libbpf: prog 'probe_accept4': relo #0: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_accept4': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_accept4': relo #0: no matching targets found
libbpf: prog 'probe_accept4': relo #0: substituting insn #14 w/ invalid insn
libbpf: prog 'probe_accept4': relo #1: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_accept4': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_accept4': relo #1: no matching targets found
libbpf: prog 'probe_accept4': relo #1: substituting insn #15 w/ invalid insn
libbpf: prog 'probe_accept4': relo #2: <byte_off> [85] struct pt_regs.si (0:13 @ offset 104)
libbpf: prog 'probe_accept4': relo #2: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_accept4': relo #2: no matching targets found
libbpf: prog 'probe_accept4': relo #2: substituting insn #22 w/ invalid insn
libbpf: CO-RE relocating [93] struct sockaddr: found target candidate [167] struct sockaddr in [vmlinux]
libbpf: prog 'probe_accept4': relo #3: <byte_off> [93] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_accept4': relo #3: matching candidate #0 <byte_off> [167] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_accept4': relo #3: patched insn #29 (ALU/ALU64) imm 0 -> 0
libbpf: CO-RE relocating [101] struct sockaddr_in: found target candidate [7205] struct sockaddr_in in [vmlinux]
libbpf: prog 'probe_accept4': relo #4: <byte_off> [101] struct sockaddr_in.sin_addr.s_addr (0:2:0 @ offset 4)
libbpf: prog 'probe_accept4': relo #4: matching candidate #0 <byte_off> [7205] struct sockaddr_in.sin_addr.s_addr (0:2:0 @ offset 4)
libbpf: prog 'probe_accept4': relo #4: patched insn #56 (ALU/ALU64) imm 4 -> 4
libbpf: prog 'probe_accept4': relo #5: <byte_off> [101] struct sockaddr_in.sin_port (0:1 @ offset 2)
libbpf: prog 'probe_accept4': relo #5: matching candidate #0 <byte_off> [7205] struct sockaddr_in.sin_port (0:1 @ offset 2)
libbpf: prog 'probe_accept4': relo #5: patched insn #63 (ALU/ALU64) imm 2 -> 2
libbpf: sec 'kretprobe/accept4': found 1 CO-RE relocations
libbpf: prog 'probe_ret_accept4': relo #0: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_ret_accept4': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_ret_accept4': relo #0: no matching targets found
libbpf: prog 'probe_ret_accept4': relo #0: substituting insn #4 w/ invalid insn
libbpf: sec 'kprobe/close': found 2 CO-RE relocations
libbpf: prog 'probe_close': relo #0: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_close': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_close': relo #0: no matching targets found
libbpf: prog 'probe_close': relo #0: substituting insn #13 w/ invalid insn
libbpf: prog 'probe_close': relo #1: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_close': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_close': relo #1: no matching targets found
libbpf: prog 'probe_close': relo #1: substituting insn #14 w/ invalid insn
libbpf: sec 'kretprobe/close': found 1 CO-RE relocations
libbpf: prog 'probe_ret_close': relo #0: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_ret_close': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_ret_close': relo #0: no matching targets found
libbpf: prog 'probe_ret_close': relo #0: substituting insn #3 w/ invalid insn
libbpf: sec 'kprobe/sendto': found 5 CO-RE relocations
libbpf: prog 'probe_sendto': relo #0: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_sendto': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_sendto': relo #0: no matching targets found
libbpf: prog 'probe_sendto': relo #0: substituting insn #11 w/ invalid insn
libbpf: prog 'probe_sendto': relo #1: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_sendto': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_sendto': relo #1: no matching targets found
libbpf: prog 'probe_sendto': relo #1: substituting insn #12 w/ invalid insn
libbpf: prog 'probe_sendto': relo #2: <byte_off> [85] struct pt_regs.si (0:13 @ offset 104)
libbpf: prog 'probe_sendto': relo #2: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_sendto': relo #2: no matching targets found
libbpf: prog 'probe_sendto': relo #2: substituting insn #34 w/ invalid insn
libbpf: prog 'probe_sendto': relo #3: <byte_off> [85] struct pt_regs.r8 (0:9 @ offset 72)
libbpf: prog 'probe_sendto': relo #3: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_sendto': relo #3: no matching targets found
libbpf: prog 'probe_sendto': relo #3: substituting insn #41 w/ invalid insn
libbpf: prog 'probe_sendto': relo #4: <byte_off> [93] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_sendto': relo #4: matching candidate #0 <byte_off> [167] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_sendto': relo #4: patched insn #49 (ALU/ALU64) imm 0 -> 0
libbpf: sec 'kretprobe/sendto': found 1 CO-RE relocations
libbpf: prog 'probe_ret_sendto': relo #0: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_ret_sendto': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_ret_sendto': relo #0: no matching targets found
libbpf: prog 'probe_ret_sendto': relo #0: substituting insn #9 w/ invalid insn
libbpf: sec 'kprobe/recvfrom': found 5 CO-RE relocations
libbpf: prog 'probe_recvfrom': relo #0: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_recvfrom': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #0: no matching targets found
libbpf: prog 'probe_recvfrom': relo #0: substituting insn #11 w/ invalid insn
libbpf: prog 'probe_recvfrom': relo #1: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_recvfrom': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #1: no matching targets found
libbpf: prog 'probe_recvfrom': relo #1: substituting insn #12 w/ invalid insn
libbpf: prog 'probe_recvfrom': relo #2: <byte_off> [85] struct pt_regs.si (0:13 @ offset 104)
libbpf: prog 'probe_recvfrom': relo #2: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #2: no matching targets found
libbpf: prog 'probe_recvfrom': relo #2: substituting insn #34 w/ invalid insn
libbpf: prog 'probe_recvfrom': relo #3: <byte_off> [85] struct pt_regs.r8 (0:9 @ offset 72)
libbpf: prog 'probe_recvfrom': relo #3: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #3: no matching targets found
libbpf: prog 'probe_recvfrom': relo #3: substituting insn #41 w/ invalid insn
libbpf: prog 'probe_recvfrom': relo #4: <byte_off> [93] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #4: matching candidate #0 <byte_off> [167] struct sockaddr.sa_family (0:0 @ offset 0)
libbpf: prog 'probe_recvfrom': relo #4: patched insn #49 (ALU/ALU64) imm 0 -> 0
libbpf: sec 'kretprobe/recvfrom': found 1 CO-RE relocations
libbpf: prog 'probe_ret_recvfrom': relo #0: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_ret_recvfrom': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_ret_recvfrom': relo #0: no matching targets found
libbpf: prog 'probe_ret_recvfrom': relo #0: substituting insn #9 w/ invalid insn
libbpf: sec 'kprobe/write': found 4 CO-RE relocations
libbpf: prog 'probe_write': relo #0: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_write': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_write': relo #0: no matching targets found
libbpf: prog 'probe_write': relo #0: substituting insn #11 w/ invalid insn
libbpf: prog 'probe_write': relo #1: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_write': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_write': relo #1: no matching targets found
libbpf: prog 'probe_write': relo #1: substituting insn #12 w/ invalid insn
libbpf: prog 'probe_write': relo #2: <byte_off> [85] struct pt_regs.si (0:13 @ offset 104)
libbpf: prog 'probe_write': relo #2: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_write': relo #2: no matching targets found
libbpf: prog 'probe_write': relo #2: substituting insn #29 w/ invalid insn
libbpf: prog 'probe_write': relo #3: <byte_off> [85] struct pt_regs.dx (0:12 @ offset 96)
libbpf: prog 'probe_write': relo #3: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_write': relo #3: no matching targets found
libbpf: prog 'probe_write': relo #3: substituting insn #36 w/ invalid insn
libbpf: sec 'kretprobe/write': found 2 CO-RE relocations
libbpf: prog 'probe_ret_write': relo #0: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_ret_write': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_ret_write': relo #0: no matching targets found
libbpf: prog 'probe_ret_write': relo #0: substituting insn #3 w/ invalid insn
libbpf: prog 'probe_ret_write': relo #1: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_ret_write': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_ret_write': relo #1: no matching targets found
libbpf: prog 'probe_ret_write': relo #1: substituting insn #14 w/ invalid insn
libbpf: sec 'kprobe/read': found 4 CO-RE relocations
libbpf: prog 'probe_read': relo #0: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_read': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_read': relo #0: no matching targets found
libbpf: prog 'probe_read': relo #0: substituting insn #11 w/ invalid insn
libbpf: prog 'probe_read': relo #1: <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
libbpf: prog 'probe_read': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_read': relo #1: no matching targets found
libbpf: prog 'probe_read': relo #1: substituting insn #12 w/ invalid insn
libbpf: prog 'probe_read': relo #2: <byte_off> [85] struct pt_regs.si (0:13 @ offset 104)
libbpf: prog 'probe_read': relo #2: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_read': relo #2: no matching targets found
libbpf: prog 'probe_read': relo #2: substituting insn #19 w/ invalid insn
libbpf: prog 'probe_read': relo #3: <byte_off> [85] struct pt_regs.dx (0:12 @ offset 96)
libbpf: prog 'probe_read': relo #3: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_read': relo #3: no matching targets found
libbpf: prog 'probe_read': relo #3: substituting insn #26 w/ invalid insn
libbpf: sec 'kretprobe/read': found 2 CO-RE relocations
libbpf: prog 'probe_ret_read': relo #0: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_ret_read': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_ret_read': relo #0: no matching targets found
libbpf: prog 'probe_ret_read': relo #0: substituting insn #3 w/ invalid insn
libbpf: prog 'probe_ret_read': relo #1: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_ret_read': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_ret_read': relo #1: no matching targets found
libbpf: prog 'probe_ret_read': relo #1: substituting insn #14 w/ invalid insn
libbpf: sec 'uprobe/gotls_write_register': found 3 CO-RE relocations
libbpf: prog 'probe_entry_go_tls_write': relo #0: <byte_off> [85] struct pt_regs.bx (0:5 @ offset 40)
libbpf: prog 'probe_entry_go_tls_write': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_write': relo #0: no matching targets found
libbpf: prog 'probe_entry_go_tls_write': relo #0: substituting insn #4 w/ invalid insn
libbpf: prog 'probe_entry_go_tls_write': relo #1: <byte_off> [85] struct pt_regs.cx (0:11 @ offset 88)
libbpf: prog 'probe_entry_go_tls_write': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_write': relo #1: no matching targets found
libbpf: prog 'probe_entry_go_tls_write': relo #1: substituting insn #11 w/ invalid insn
libbpf: prog 'probe_entry_go_tls_write': relo #2: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_entry_go_tls_write': relo #2: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_write': relo #2: no matching targets found
libbpf: prog 'probe_entry_go_tls_write': relo #2: substituting insn #39 w/ invalid insn
libbpf: sec 'uprobe/gotls_read_register': found 4 CO-RE relocations
libbpf: prog 'probe_entry_go_tls_read': relo #0: <byte_off> [85] struct pt_regs.r14 (0:1 @ offset 8)
libbpf: prog 'probe_entry_go_tls_read': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_read': relo #0: no matching targets found
libbpf: prog 'probe_entry_go_tls_read': relo #0: substituting insn #4 w/ invalid insn
libbpf: prog 'probe_entry_go_tls_read': relo #1: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_entry_go_tls_read': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_read': relo #1: no matching targets found
libbpf: prog 'probe_entry_go_tls_read': relo #1: substituting insn #31 w/ invalid insn
libbpf: prog 'probe_entry_go_tls_read': relo #2: <byte_off> [85] struct pt_regs.bx (0:5 @ offset 40)
libbpf: prog 'probe_entry_go_tls_read': relo #2: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_read': relo #2: no matching targets found
libbpf: prog 'probe_entry_go_tls_read': relo #2: substituting insn #66 w/ invalid insn
libbpf: prog 'probe_entry_go_tls_read': relo #3: <byte_off> [85] struct pt_regs.cx (0:11 @ offset 88)
libbpf: prog 'probe_entry_go_tls_read': relo #3: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_entry_go_tls_read': relo #3: no matching targets found
libbpf: prog 'probe_entry_go_tls_read': relo #3: substituting insn #73 w/ invalid insn
libbpf: sec 'uprobe/gotls_exit_read_register': found 2 CO-RE relocations
libbpf: prog 'probe_exit_go_tls_read': relo #0: <byte_off> [85] struct pt_regs.r14 (0:1 @ offset 8)
libbpf: prog 'probe_exit_go_tls_read': relo #0: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_exit_go_tls_read': relo #0: no matching targets found
libbpf: prog 'probe_exit_go_tls_read': relo #0: substituting insn #4 w/ invalid insn
libbpf: prog 'probe_exit_go_tls_read': relo #1: <byte_off> [85] struct pt_regs.ax (0:10 @ offset 80)
libbpf: prog 'probe_exit_go_tls_read': relo #1: non-matching candidate #0 <byte_off> [2758] struct pt_regs (0 @ offset 0)
libbpf: prog 'probe_exit_go_tls_read': relo #1: no matching targets found
libbpf: prog 'probe_exit_go_tls_read': relo #1: substituting insn #33 w/ invalid insn
libbpf: prog 'probe_entry_SSL_read': added 150 insns from sub-prog 'process_ssl_read_entry'
libbpf: prog 'probe_entry_SSL_read': insn #1 relocated, imm 2 points to subprog 'process_ssl_read_entry' (now at 4 offset)
libbpf: prog 'probe_ret_SSL_read': added 202 insns from sub-prog 'process_ssl_read_return'
libbpf: prog 'probe_ret_SSL_read': insn #1 relocated, imm 2 points to subprog 'process_ssl_read_return' (now at 4 offset)
libbpf: prog 'probe_entry_SSL_read_ex': added 150 insns from sub-prog 'process_ssl_read_entry'
libbpf: prog 'probe_entry_SSL_read_ex': insn #1 relocated, imm 2 points to subprog 'process_ssl_read_entry' (now at 4 offset)
libbpf: prog 'probe_ret_SSL_read_ex': added 202 insns from sub-prog 'process_ssl_read_return'
libbpf: prog 'probe_ret_SSL_read_ex': insn #1 relocated, imm 2 points to subprog 'process_ssl_read_return' (now at 4 offset)
libbpf: prog 'probe_entry_SSL_write': added 129 insns from sub-prog 'process_ssl_write_entry'
libbpf: prog 'probe_entry_SSL_write': insn #1 relocated, imm 2 points to subprog 'process_ssl_write_entry' (now at 4 offset)
libbpf: prog 'probe_ret_SSL_write': added 111 insns from sub-prog 'process_ssl_write_return'
libbpf: prog 'probe_ret_SSL_write': insn #1 relocated, imm 2 points to subprog 'process_ssl_write_return' (now at 4 offset)
libbpf: prog 'probe_entry_SSL_write_ex': added 129 insns from sub-prog 'process_ssl_write_entry'
libbpf: prog 'probe_entry_SSL_write_ex': insn #1 relocated, imm 2 points to subprog 'process_ssl_write_entry' (now at 4 offset)
libbpf: prog 'probe_ret_SSL_write_ex': added 111 insns from sub-prog 'process_ssl_write_return'
libbpf: prog 'probe_ret_SSL_write_ex': insn #1 relocated, imm 2 points to subprog 'process_ssl_write_return' (now at 4 offset)
libbpf: map 'data_events': created successfully, fd=15
libbpf: map 'intercepted_pids': created successfully, fd=16
libbpf: map 'active_connect_args_map': created successfully, fd=17
libbpf: map 'conn_infos': created successfully, fd=18
libbpf: map 'active_close_args_map': created successfully, fd=19
libbpf: map 'fd_map': created successfully, fd=20
libbpf: map 'active_sendto_args_map': created successfully, fd=21
libbpf: map 'active_recvfrom_args_map': created successfully, fd=22
libbpf: map 'active_write_args_map': created successfully, fd=23
libbpf: map 'active_read_args_map': created successfully, fd=24
libbpf: map 'ssl_fd_map': created successfully, fd=25
libbpf: map 'active_ssl_read_args_map': created successfully, fd=26
libbpf: map 'active_ssl_write_args_map': created successfully, fd=27
libbpf: map 'active_TLSWrap_memfn_this': created successfully, fd=28
libbpf: map 'offsets_map': created successfully, fd=29
libbpf: map 'libssl_versions_map': created successfully, fd=30
libbpf: map 'data_buffer_heap': created successfully, fd=31
libbpf: map 'active_go_read_args_map': created successfully, fd=32
libbpf: map 'main.bpf.rodata': created successfully, fd=33
libbpf: prog 'probe_accept4': BPF program load failed: Invalid argument
libbpf: prog 'probe_accept4': -- BEGIN PROG LOAD LOG --
0: R1=ctx() R10=fp0
; int probe_accept4(struct pt_regs *ctx) { @ socket_kprobes.h:48
0: (bf) r8 = r1                       ; R1=ctx() R8_w=ctx()
; u64 current_pid_tgid = bpf_get_current_pid_tgid(); @ socket_kprobes.h:49
1: (85) call bpf_get_current_pid_tgid#14      ; R0_w=scalar()
2: (bf) r6 = r0                       ; R0_w=scalar(id=1) R6_w=scalar(id=1)
3: (7b) *(u64 *)(r10 -8) = r6         ; R6_w=scalar(id=1) R10=fp0 fp-8_w=scalar(id=1)
; u32 pid = current_pid_tgid >> 32; @ socket_kprobes.h:50
4: (bf) r1 = r6                       ; R1_w=scalar(id=1) R6_w=scalar(id=1)
5: (77) r1 >>= 32                     ; R1_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff))
6: (63) *(u32 *)(r10 -12) = r1        ; R1_w=scalar(smin=0,smax=umax=0xffffffff,var_off=(0x0; 0xffffffff)) R10=fp0 fp-16=mmmm????
7: (bf) r2 = r10                      ; R2_w=fp0 R10=fp0
;  @ socket_kprobes.h:0
8: (07) r2 += -12                     ; R2_w=fp-12
; u32 *local_ip = bpf_map_lookup_elem(&intercepted_pids, &pid); @ socket_kprobes.h:53
9: (18) r1 = 0xffff77ac1d505400       ; R1_w=map_ptr(map=intercepted_pid,ks=4,vs=4)
11: (85) call bpf_map_lookup_elem#1   ; R0=map_value_or_null(id=2,map=intercepted_pid,ks=4,vs=4)
12: (bf) r7 = r0                      ; R0=map_value_or_null(id=2,map=intercepted_pid,ks=4,vs=4) R7_w=map_value_or_null(id=2,map=intercepted_pid,ks=4,vs=4)
; if (local_ip == NULL) { @ socket_kprobes.h:54
13: (15) if r7 == 0x0 goto pc+64      ; R7_w=map_value(map=intercepted_pid,ks=4,vs=4)
14: <invalid CO-RE relocation>
failed to resolve CO-RE relocation <byte_off> [85] struct pt_regs.di (0:14 @ offset 112)
processed 14 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 1
-- END PROG LOAD LOG --
libbpf: prog 'probe_accept4': failed to load: -22
libbpf: failed to load object 'main.bpf.o'
failed to load BPF object: invalid argument

@nrjais
Copy link

nrjais commented Aug 2, 2024

And the latest image push only has amd64 arch, not arm one
image

@papodaca
Copy link
Author

papodaca commented Aug 2, 2024

Tried again today, I got slightly different output but still not successful.

@evanrolfe
Copy link
Owner

@papodaca @nrjais thanks would you mind trying again? I managed to get a hold of a macbook with an M2 chip and have got it working in the build_arm64 branch. I've built docker images from that branch and pushed them to traycer/trayce_agent:latest and traycer/trayce_agent:0.0.2 so if you do docker pull on either of those images you'll get the changes.

@nrjais
Copy link

nrjais commented Aug 4, 2024

It is up now, but I think its failing to setup intercepter, logs below

Agent listening...
[GRPC] connecting to server...
[FlowQueue] running...
[GRPC] sent NooP to command stream
[GRPC] received container_ids: []
[GRPC] done setting container_ids
[GRPC] received container_ids: [fa302fa32ad5 ef24cdbe7dcb]
[GRPC] done setting container_ids
[Error] unable to convert ip to uint32 net.ParseIP()
[ERROR] getPidsForContainer() fa302fa32ad5 , err: no index found for CMD from docker.ContainerTop()
[Error] unable to convert ip to uint32 net.ParseIP()
[ERROR] getPidsForContainer() ef24cdbe7dcb , err: no index found for CMD from docker.ContainerTop()
[GRPC] received container_ids: [ef24cdbe7dcb 7d56e2267b83]
[GRPC] done setting container_ids
[Error] unable to convert ip to uint32 net.ParseIP()
[ERROR] getPidsForContainer() ef24cdbe7dcb , err: no index found for CMD from docker.ContainerTop()
[Error] unable to convert ip to uint32 net.ParseIP()
[ERROR] getPidsForContainer() 7d56e2267b83 , err: no index found for CMD from docker.ContainerTop()

I have node servers running on two containers, with node version 12 and 14

@papodaca
Copy link
Author

papodaca commented Aug 4, 2024

Yes the agent is starting now. But looks like some errors hooking into lib ssl. I attempted to curl in a ubuntu:22.04 container which

Agent listening...
[GRPC] connecting to server...
[FlowQueue] running...
[GRPC] sent NooP to command stream
[GRPC] received container_ids: [7ad7ca9cfcf9]
[GRPC] done setting container_ids
Container opened: /proc/1680/root
Proc opened: 1680 /proc/1680/root/usr/bin/bash libSSL: 3
Attaching openssl uprobes to: /proc/1680/root/usr/lib/aarch64-linux-gnu/libssl.so.3
Error finding fdOffset: elfFile.DWARF() failed for /proc/1680/root/usr/bin/bash, err: decoding dwarf section info at offset 0x0: too short
GetSymbolOffset() /proc/1680/root/usr/bin/bash / crypto/tls.(*Conn).Write
Error bpfProg.AttachGoUProbes() write: error AttachGoUProbes(): /proc/1680/root/usr/bin/bash, error: GetSymbolOffset() for /proc/1680/root/usr/bin/bash, error: ERROR no symbols section of bin for: /proc/1680/root/usr/bin/bash
 [DataEvent]   Received  1 bytes, source: kprobe/read , PID: 1680 , TID: 1680 FD: 0  ssl_ptr: 0
00000000  1b                                                |.|
[SocketMap] no socket found, dropping.
 [DataEvent]   Received  1 bytes, source: kprobe/read , PID: 1680 , TID: 1680 FD: 0  ssl_ptr: 0
00000000  5b                                                |[|
[SocketMap] no socket found, dropping.
 [DataEvent]   Received  1 bytes, source: kprobe/read , PID: 1680 , TID: 1680 FD: 0  ssl_ptr: 0
00000000  41                                                |A|
[SocketMap] no socket found, dropping.
 [DataEvent]   Received  28 bytes, source: kprobe/write , PID: 1680 , TID: 1680 FD: 2  ssl_ptr: 0
00000000  63 75 72 6c 20 2d 76 76  76 20 68 74 74 70 3a 2f  |curl -vvv http:/|
00000010  2f 65 78 61 6d 70 6c 65  2e 63 6f 6d              |/example.com|
[SocketMap] no socket found, dropping.
 [DataEvent]   Received  1 bytes, source: kprobe/read , PID: 1680 , TID: 1680 FD: 0  ssl_ptr: 0
00000000  0d                                                |.|
[SocketMap] no socket found, dropping.
 [DataEvent]   Received  1 bytes, source: kprobe/write , PID: 1680 , TID: 1680 FD: 2  ssl_ptr: 0
00000000  0a                                                |.|
[SocketMap] no socket found, dropping.
 [DataEvent]   Received  9 bytes, source: kprobe/write , PID: 1680 , TID: 1680 FD: 2  ssl_ptr: 0
00000000  1b 5b 3f 32 30 30 34 6c  0d                       |.[?2004l.|
[SocketMap] no socket found, dropping.
 [events.CloseEvent]   PID: 1680 , TID: 1680 FD:  3
 [events.CloseEvent]   PID: 1680 , TID: 1680 FD:  4
 [DataEvent]   Received  8 bytes, source: kprobe/write , PID: 1680 , TID: 1680 FD: 2  ssl_ptr: 0
00000000  1b 5b 3f 32 30 30 34 68                           |.[?2004h|
[SocketMap] no socket found, dropping.
 [DataEvent]   Received  49 bytes, source: kprobe/write , PID: 1680 , TID: 1680 FD: 2  ssl_ptr: 0
00000000  1b 5d 30 3b 72 6f 6f 74  40 37 61 64 37 63 61 39  |.]0;root@7ad7ca9|
00000010  63 66 63 66 39 3a 20 2f  07 72 6f 6f 74 40 37 61  |cfcf9: /.root@7a|
00000020  64 37 63 61 39 63 66 63  66 39 3a 2f 23 20 1b 5b  |d7ca9cfcf9:/# .[|
00000030  4b                                                |K|
[SocketMap] no socket found, dropping.
Error os.Readlink()= readlink /proc/39144/exe: no such file or directory

@evanrolfe
Copy link
Owner

@nrjais thanks again. I have just pushed up a new image to :latest and :0.0.2 with some more logging added so we can try and see whats going on here. Can you do docker pull and try again please? Also what version of docker are you running? If its old you could try updating to the latest version.

@evanrolfe
Copy link
Owner

@papodaca have you tried making https requests to the docker container you're intercepting? Those logs actually look ok to me because it logs an error if it fails to attach to the Go crypto/tls functions which happens if the binary is not a Go-based binary. In your case its trying to attach to /usr/bin/bash which is of course not Go. The thing is - at the moment it can't know for sure if binary is written in Go or not, so it just tries to instrument every proc running by default.

@evanrolfe
Copy link
Owner

I attempted to curl in a ubuntu:22.04 container

@papodaca this actually won't be tracked by Trayce. I probably should've made this more clear somewhere but Trayce only tracks incoming requests to docker containers, not outgoing ones. Its possible I could add egress tracking as a feature in the future, but even if I did it wouldn't be able to track one-off curl requests done from within the container because its particularly hard to track short-lived processes using ebpf, see this issue from pixie which works in a similar way to Trayce.

@papodaca
Copy link
Author

papodaca commented Aug 4, 2024

Ah ok, sorry for the confusion. I can confirm that the latest image does indeed work as expected. I setup a quick ruby-rack server and simple python http server just to test.
image

@nrjais
Copy link

nrjais commented Aug 5, 2024

Still getting similar logs

Agent listening...
[GRPC] connecting to server...
[FlowQueue] running...
[GRPC] sent NooP to command stream
[GRPC] received container_ids: []
[GRPC] done setting container_ids
[GRPC] received container_ids: [d80b1ab0c428 ef24cdbe7dcb]
[GRPC] done setting container_ids
[Error] unable to convert ip to uint32 net.ParseIP()
[ERROR] getPidsForContainer() d80b1ab0c428 , err: no index found for CMD from docker.ContainerTop()
[Error] unable to convert ip to uint32 net.ParseIP()
[ERROR] getPidsForContainer() ef24cdbe7dcb , err: no index found for CMD from docker.ContainerTop()

Docker version is new

Client: Docker Engine - Community
 Version:           27.1.1
 API version:       1.45 (downgraded from 1.46)
 Go version:        go1.22.5
 Git commit:        63125853e3
 Built:             Fri Jul 19 17:35:01 2024
 OS/Arch:           darwin/arm64
 Context:           orbstack

Server: Docker Engine - Community
 Engine:
  Version:          26.1.4
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.11
  Git commit:       de5c9cf
  Built:            Wed Jun  5 11:29:18 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          v1.7.19
  GitCommit:        2bf793ef6dc9a18e00cb12efb64355c2c9d5eb41
 runc:
  Version:          1.1.13
  GitCommit:        58aa9203c123022138b22cf96540c284876a7910
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

@nrjais
Copy link

nrjais commented Aug 5, 2024

Trayce only tracks incoming requests to docker containers, not outgoing ones.

Does this mean only request coming to containers from other containers or host system is tracked?
I think the biggest use case would be to track request from containers to external services, which is the case for me always

@evanrolfe
Copy link
Owner

Does this mean only request coming to containers from other containers or host system is tracked?

It will only track requests coming to containers, from other containers, the host system, or externally. If you have a server on container that makes requests to an external service which is not running in a docker container, then it won't track that.

I think the biggest use case would be to track request from containers to external services, which is the case for me always

If you can run these external services locally in docker, then you can intercept them too and so you should see the requests made from one container to another. Would that be a solution for you or are these external services only available over the internet?

@evanrolfe
Copy link
Owner

@papodaca thats great to see! Thanks for you collaboration. I'm closing this PR now that build_arm64 has been merged to main.

@evanrolfe evanrolfe closed this Aug 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants