root@intel-corei7-64:/opt/kselftests/default-in-kernel/bpf# gdb test_progs GNU gdb (GDB) 8.0.1 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linaro-linux". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from test_progs...(no debugging symbols found)...done. (gdb) r Starting program: /opt/kselftests/default-in-kernel/bpf/test_progs warning: File "/lib/libthread_db-1.0.so" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". To enable execution of this file add add-auto-load-safe-path /lib/libthread_db-1.0.so line to your configuration file "/home/root/.gdbinit". To completely disable this security protection add set auto-load safe-path / line to your configuration file "/home/root/.gdbinit". For more information about this security protection see the "Auto-loading safe path" section in the GDB manual. E.g., run from the shell: info "(gdb)Auto-loading safe path" warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available. test_attach_probe:PASS:get_base_addr 0 nsec libbpf: BTF is required, but is missing or corrupted. test_attach_probe:FAIL:obj_load err -2 errno 0 #1 attach_probe:FAIL Program received signal SIGABRT, Aborted. 0x00007ffff721554a in raise () from /lib/libc.so.6 (gdb) root@intel-corei7-64:/opt/kselftests/default-in-kernel/bpf# strace ./test_progs execve("./test_progs", ["./test_progs"], 0x7ffd73d6cd70 /* 18 vars */) = 0 brk(NULL) = 0x2197000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=16700, ...}) = 0 mmap(NULL, 16700, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f207a621000 close(3) = 0 openat(AT_FDCWD, "/lib/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\31\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=23064, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f207a61f000 mmap(NULL, 2118232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f207a1fc000 mprotect(0x7f207a200000, 2097152, PROT_NONE) = 0 mmap(0x7f207a400000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f207a400000 close(3) = 0 openat(AT_FDCWD, "/usr/lib/libelf.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@0\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=96784, ...}) = 0 mmap(NULL, 2191800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2079fe4000 mprotect(0x7f2079ffb000, 2093056, PROT_NONE) = 0 mmap(0x7f207a1fa000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f207a1fa000 close(3) = 0 openat(AT_FDCWD, "/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p!\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=31560, ...}) = 0 mmap(NULL, 2128832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2079ddc000 mprotect(0x7f2079de3000, 2093056, PROT_NONE) = 0 mmap(0x7f2079fe2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f2079fe2000 close(3) = 0 openat(AT_FDCWD, "/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0pa\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=106056, ...}) = 0 mmap(NULL, 2217056, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2079bbe000 mprotect(0x7f2079bd7000, 2093056, PROT_NONE) = 0 mmap(0x7f2079dd6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f2079dd6000 mmap(0x7f2079dd8000, 13408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2079dd8000 close(3) = 0 openat(AT_FDCWD, "/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\33\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1771456, ...}) = 0 mmap(NULL, 3877600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f207980b000 mprotect(0x7f20799b5000, 2093056, PROT_NONE) = 0 mmap(0x7f2079bb4000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a9000) = 0x7f2079bb4000 mmap(0x7f2079bba000, 15072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2079bba000 close(3) = 0 openat(AT_FDCWD, "/lib/libz.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@$\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=92560, ...}) = 0 mmap(NULL, 2187648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f20795f4000 mprotect(0x7f2079609000, 2097152, PROT_NONE) = 0 mmap(0x7f2079809000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f2079809000 close(3) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f207a61d000 mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f207a61a000 arch_prctl(ARCH_SET_FS, 0x7f207a61a740) = 0 mprotect(0x7f2079bb4000, 16384, PROT_READ) = 0 mprotect(0x7f2079809000, 4096, PROT_READ) = 0 mprotect(0x7f2079dd6000, 4096, PROT_READ) = 0 mprotect(0x7f2079fe2000, 4096, PROT_READ) = 0 mprotect(0x7f207a1fa000, 4096, PROT_READ) = 0 mprotect(0x7f207a400000, 4096, PROT_READ) = 0 mprotect(0x638000, 4096, PROT_READ) = 0 mprotect(0x7f207a626000, 4096, PROT_READ) = 0 munmap(0x7f207a621000, 16700) = 0 set_tid_address(0x7f207a61aa10) = 1390 set_robust_list(0x7f207a61aa20, 24) = 0 rt_sigaction(SIGRTMIN, {sa_handler=0x7f2079bc3c10, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f2079bcf9b0}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {sa_handler=0x7f2079bc3cb0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f2079bcf9b0}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 prlimit64(0, RLIMIT_MEMLOCK, NULL, {rlim_cur=16384*1024, rlim_max=16384*1024}) = 0 prlimit64(0, RLIMIT_MEMLOCK, {rlim_cur=RLIM64_INFINITY, rlim_max=RLIM64_INFINITY}, NULL) = 0 brk(NULL) = 0x2197000 brk(0x21b8000) = 0x21b8000 openat(AT_FDCWD, "/proc/sys/net/core/bpf_jit_enable", O_RDONLY) = 3 read(3, "0", 1) = 1 close(3) = 0 openat(AT_FDCWD, "/proc/self/maps", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "00400000-00439000 r-xp 00000000 "..., 1024) = 1024 close(3) = 0 openat(AT_FDCWD, "./test_attach_probe.o", O_RDONLY) = 3 fcntl(3, F_GETFD) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=2024, ...}) = 0 mmap(NULL, 2024, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f207a625000 bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=2, insns=0x7fff49fadf20, license="GPL", log_level=0, log_size=0, log_buf=0, kern_version=0, prog_flags=0}, 112) = 4 close(4) = 0 bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=2, insns=0x7fff49fadf20, license="GPL", log_level=0, log_size=0, log_buf=0, kern_version=0, prog_flags=0, ...}, 112) = 4 close(4) = 0 bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_ARRAY, key_size=4, value_size=32, max_entries=1, map_flags=0, inner_map_fd=0}, 112) = 4 bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=5, insns=0x7fff49fadec0, license="GPL", log_level=0, log_size=0, log_buf=0, kern_version=0, prog_flags=0}, 112) = 5 close(5) = 0 close(4) = 0 bpf(0x12 /* BPF_??? */, 0x7fff49fadee0, 112) = 4 close(4) = 0 bpf(0x12 /* BPF_??? */, 0x7fff49faded0, 112) = 4 close(4) = 0 munmap(0x7f207a625000, 2024) = 0 close(3) = 0 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 write(1, "test_attach_probe:PASS:get_base_"..., 44test_attach_probe:PASS:get_base_addr 0 nsec ) = 44 write(1, "libbpf: BTF is required, but is "..., 54libbpf: BTF is required, but is missing or corrupted. ) = 54 write(1, "test_attach_probe:FAIL:obj_load "..., 47test_attach_probe:FAIL:obj_load err -2 errno 0 ) = 47 write(1, "#1 attach_probe:FAIL\n", 21#1 attach_probe:FAIL ) = 21 getuid() = 0 bpf(BPF_PROG_GET_FD_BY_ID, 0x7fff49fadaf0, 112) = -1 ENOENT (No such file or directory) bpf(BPF_MAP_GET_FD_BY_ID, 0x7fff49fadaf0, 112) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "./test_obj_id.o", O_RDONLY) = 3 fcntl(3, F_GETFD) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=888, ...}) = 0 mmap(NULL, 888, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f207a625000 bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=2, insns=0x7fff49fad8e0, license="GPL", log_level=0, log_size=0, log_buf=0, kern_version=0, prog_flags=0}, 112) = 4 close(4) = 0 bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=2, insns=0x7fff49fad8e0, license="GPL", log_level=0, log_size=0, log_buf=0, kern_version=0, prog_flags=0, ...}, 112) = 4 close(4) = 0 bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_ARRAY, key_size=4, value_size=32, max_entries=1, map_flags=0, inner_map_fd=0}, 112) = 4 bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=5, insns=0x7fff49fad880, license="GPL", log_level=0, log_size=0, log_buf=0, kern_version=0, prog_flags=0}, 112) = 5 close(5) = 0 close(4) = 0 bpf(0x12 /* BPF_??? */, 0x7fff49fad8a0, 112) = 4 close(4) = 0 bpf(0x12 /* BPF_??? */, 0x7fff49fad890, 112) = 4 close(4) = 0 munmap(0x7f207a625000, 888) = 0 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f207a625000 rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0 getpid() = 1390 gettid() = 1390 tgkill(1390, 1390, SIGABRT) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=1390, si_uid=0} --- +++ killed by SIGABRT (core dumped) +++ Aborted (core dumped)