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

6.3+ CO-RE BPF verifier errors on Fedora #1258

Open
Molter73 opened this issue Jul 26, 2023 · 0 comments
Open

6.3+ CO-RE BPF verifier errors on Fedora #1258

Molter73 opened this issue Jul 26, 2023 · 0 comments
Assignees

Comments

@Molter73
Copy link
Collaborator

This issue tracks resolution of the following verifier errors on 6.3+ kernels

failed to resolve CO-RE relocation [278] typedef kernel_cap_t.cap[1] (0:0:1 @ offset 4)
Collector Version: 3.15.x-124-gec0292e4cd
OS: Fedora Linux 38 (Server Edition)
Kernel Version: 6.3.12-200.fc38.x86_64
Starting StackRox Collector...
[INFO    2023/07/26 09:05:26] Hostname: 'localhost.localdomain'
[INFO    2023/07/26 09:05:26] (CollectorConfig.cpp:109) User configured logLevel=debug
[INFO    2023/07/26 09:05:26] (CollectorConfig.cpp:124) User configured scrapeInterval=2
[INFO    2023/07/26 09:05:26] (CollectorConfig.cpp:130) User configured turnOffScrape=1
[INFO    2023/07/26 09:05:26] (CollectorConfig.cpp:158) User configured collection-method=core_bpf
[INFO    2023/07/26 09:05:26] (CollectorConfig.cpp:209) Afterglow is enabled
[DEBUG   2023/07/26 09:05:26] (HostInfo.h:100) Identified kernel release: '6.3.12-200.fc38.x86_64'
[DEBUG   2023/07/26 09:05:26] (HostInfo.h:101) Identified kernel version: '#1 SMP PREEMPT_DYNAMIC Thu Jul  6 04:05:18 UTC 2023'
[DEBUG   2023/07/26 09:05:26] (HostInfo.cpp:208) BTF symbols found in /host/sys/kernel/btf/vmlinux
[DEBUG   2023/07/26 09:05:26] (collector.cpp:128) Core dumps not enabled
[INFO    2023/07/26 09:05:26] (collector.cpp:85) Sensor configured at address: localhost:9999
[INFO    2023/07/26 09:05:26] (collector.cpp:179) Attempting to connect to Sensor
[INFO    2023/07/26 09:05:26] (collector.cpp:181) Successfully connected to Sensor.
[INFO    2023/07/26 09:05:26] (collector.cpp:191) Module version: 2.5.0
[INFO    2023/07/26 09:05:26] (CollectorService.cpp:54) Config: collection_method:core_bpf, useChiselCache:1, scrape_interval:2, turn_off_scrape:1, hostname:localhost.localdomain, processesListeningOnPorts:1, logLevel:DEBUG, set_import_users:0
[INFO    2023/07/26 09:05:26] (CollectorService.cpp:190) Candidate drivers: 
[INFO    2023/07/26 09:05:26] (CollectorService.cpp:192) CO.RE eBPF probe
[INFO    2023/07/26 09:05:26] (CollectorService.cpp:192) collector-ebpf-6.3.12-200.fc38.x86_64.o
libbpf: prog 'capset_x': BPF program load failed: Invalid argument
libbpf: prog 'capset_x': -- BEGIN PROG LOAD LOG --
reg type unsupported for arg#0 function capset_x#2132
0: R1=ctx(off=0,imm=0) R10=fp0
; int BPF_PROG(capset_x,
0: (79) r9 = *(u64 *)(r1 +8)          ; R1=ctx(off=0,imm=0) R9_w=scalar()
; u32 cpu_id = (u32)bpf_get_smp_processor_id();
1: (85) call bpf_get_smp_processor_id#8       ; R0_w=scalar()
; u32 cpu_id = (u32)bpf_get_smp_processor_id();
2: (63) *(u32 *)(r10 -8) = r0         ; R0_w=scalar() R10=fp0 fp-8=????mmmm
3: (bf) r2 = r10                      ; R2_w=fp0 R10=fp0
; 
4: (07) r2 += -8                      ; R2_w=fp-8
; return (struct ringbuf_map *)bpf_map_lookup_elem(&ringbuf_maps, &cpu_id);
5: (18) r1 = 0xffff9f658d09b800       ; R1_w=map_ptr(off=0,ks=4,vs=4,imm=0)
7: (85) call bpf_map_lookup_elem#1    ; R0=map_value_or_null(id=1,off=0,ks=4,vs=4,imm=0)
8: (bf) r6 = r0                       ; R0=map_value_or_null(id=1,off=0,ks=4,vs=4,imm=0) R6_w=map_value_or_null(id=1,off=0,ks=4,vs=4,imm=0)
; if(!rb)
9: (15) if r6 == 0x0 goto pc+288      ; R6_w=map_ptr(off=0,ks=0,vs=0,imm=0)
; u32 cpu_id = (u32)bpf_get_smp_processor_id();
10: (85) call bpf_get_smp_processor_id#8      ; R0_w=scalar()
; u32 cpu_id = (u32)bpf_get_smp_processor_id();
11: (63) *(u32 *)(r10 -8) = r0        ; R0_w=scalar() R10=fp0 fp-8=????mmmm
12: (bf) r2 = r10                     ; R2_w=fp0 R10=fp0
; u32 cpu_id = (u32)bpf_get_smp_processor_id();
13: (07) r2 += -8                     ; R2_w=fp-8
; return (struct counter_map *)bpf_map_lookup_elem(&counter_maps, &cpu_id);
14: (18) r1 = 0xffff9f658b1ff000      ; R1_w=map_ptr(off=0,ks=4,vs=24,imm=0)
16: (85) call bpf_map_lookup_elem#1   ; R0=map_value_or_null(id=2,off=0,ks=4,vs=24,imm=0)
17: (bf) r7 = r0                      ; R0=map_value_or_null(id=2,off=0,ks=4,vs=24,imm=0) R7_w=map_value_or_null(id=2,off=0,ks=4,vs=24,imm=0)
; if(!counter)
18: (15) if r7 == 0x0 goto pc+279     ; R7_w=map_value(off=0,ks=4,vs=24,imm=0)
; counter->n_evts++;
19: (79) r1 = *(u64 *)(r7 +0)         ; R1_w=scalar() R7_w=map_value(off=0,ks=4,vs=24,imm=0)
20: (07) r1 += 1                      ; R1_w=scalar()
21: (7b) *(u64 *)(r7 +0) = r1         ; R1_w=scalar() R7_w=map_value(off=0,ks=4,vs=24,imm=0)
; u8 *space = bpf_ringbuf_reserve(rb, event_size, 0);
22: (bf) r1 = r6                      ; R1_w=map_ptr(off=0,ks=0,vs=0,imm=0) R6=map_ptr(off=0,ks=0,vs=0,imm=0)
23: (b7) r2 = 66                      ; R2_w=66
24: (b7) r3 = 0                       ; R3_w=0
25: (85) call bpf_ringbuf_reserve#131         ; R0=ringbuf_mem_or_null(id=4,ref_obj_id=4,off=0,imm=0) refs=4
26: (bf) r6 = r0                      ; R0=ringbuf_mem_or_null(id=4,ref_obj_id=4,off=0,imm=0) R6_w=ringbuf_mem_or_null(id=4,ref_obj_id=4,off=0,imm=0) refs=4
; if(!space)
27: (55) if r6 != 0x0 goto pc+4 32: R0=ringbuf_mem(ref_obj_id=4,off=0,imm=0) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) R7=map_value(off=0,ks=4,vs=24,imm=0) R9=scalar() R10=fp0 fp-8=????mmmm refs=4
; return g_event_params_table[event_id];
32: (18) r1 = 0xffffbf5c83c52010      ; R1_w=map_value(off=16,ks=4,vs=177564,imm=0) refs=4
34: (71) r2 = *(u8 *)(r1 +353)        ; R1_w=map_value(off=16,ks=4,vs=177564,imm=0) R2_w=4 refs=4
; ringbuf->payload_pos = sizeof(struct ppm_evt_hdr) + nparams * sizeof(u16);
35: (bf) r7 = r2                      ; R2_w=4 R7_w=4 refs=4
36: (67) r7 <<= 1                     ; R7_w=8 refs=4
37: (7b) *(u64 *)(r10 -32) = r7       ; R7_w=8 R10=fp0 fp-32_w=8 refs=4
; ringbuf->payload_pos = sizeof(struct ppm_evt_hdr) + nparams * sizeof(u16);
38: (07) r7 += 26                     ; R7_w=34 refs=4
39: (b7) r1 = 20                      ; R1_w=20 refs=4
40: (7b) *(u64 *)(r10 -24) = r2       ; R2_w=4 R10=fp0 fp-24_w=4 refs=4
; PUSH_FIXED_SIZE_TO_RINGBUF(ringbuf, param, sizeof(s64));
41: (2d) if r1 > r2 goto pc+1         ; R1_w=20 R2_w=4 refs=4
; return g_settings.boot_time;
43: (18) r1 = 0xffffbf5c83d12588      ; R1_w=map_value(off=1416,ks=4,vs=179545,imm=0) refs=4
45: (79) r8 = *(u64 *)(r1 +0)         ; R1_w=map_value(off=1416,ks=4,vs=179545,imm=0) R8_w=scalar() refs=4
; hdr->ts = maps__get_boot_time() + bpf_ktime_get_boot_ns();
46: (85) call bpf_ktime_get_boot_ns#125       ; R0=scalar() refs=4
; hdr->ts = maps__get_boot_time() + bpf_ktime_get_boot_ns();
47: (0f) r0 += r8                     ; R0_w=scalar() R8=scalar() refs=4
; hdr->ts = maps__get_boot_time() + bpf_ktime_get_boot_ns();
48: (bf) r1 = r0                      ; R0_w=scalar(id=6) R1_w=scalar(id=6) refs=4
49: (77) r1 >>= 56                    ; R1_w=scalar(umax=255,var_off=(0x0; 0xff)) refs=4
50: (73) *(u8 *)(r6 +7) = r1          ; R1_w=scalar(umax=255,var_off=(0x0; 0xff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
51: (bf) r1 = r0                      ; R0_w=scalar(id=6) R1_w=scalar(id=6) refs=4
52: (77) r1 >>= 48                    ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) refs=4
53: (73) *(u8 *)(r6 +6) = r1          ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
54: (bf) r1 = r0                      ; R0_w=scalar(id=6) R1_w=scalar(id=6) refs=4
55: (77) r1 >>= 40                    ; R1_w=scalar(umax=16777215,var_off=(0x0; 0xffffff)) refs=4
56: (73) *(u8 *)(r6 +5) = r1          ; R1_w=scalar(umax=16777215,var_off=(0x0; 0xffffff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
57: (bf) r1 = r0                      ; R0_w=scalar(id=6) R1_w=scalar(id=6) refs=4
58: (77) r1 >>= 32                    ; R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) refs=4
59: (73) *(u8 *)(r6 +4) = r1          ; R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
60: (bf) r1 = r0                      ; R0_w=scalar(id=6) R1_w=scalar(id=6) refs=4
61: (77) r1 >>= 24                    ; R1_w=scalar(umax=1099511627775,var_off=(0x0; 0xffffffffff)) refs=4
62: (73) *(u8 *)(r6 +3) = r1          ; R1_w=scalar(umax=1099511627775,var_off=(0x0; 0xffffffffff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
63: (bf) r1 = r0                      ; R0_w=scalar(id=6) R1_w=scalar(id=6) refs=4
64: (77) r1 >>= 16                    ; R1_w=scalar(umax=281474976710655,var_off=(0x0; 0xffffffffffff)) refs=4
65: (73) *(u8 *)(r6 +2) = r1          ; R1_w=scalar(umax=281474976710655,var_off=(0x0; 0xffffffffffff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
66: (73) *(u8 *)(r6 +0) = r0          ; R0_w=scalar(id=6) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
67: (77) r0 >>= 8                     ; R0_w=scalar(umax=72057594037927935,var_off=(0x0; 0xffffffffffffff)) refs=4
68: (73) *(u8 *)(r6 +1) = r0          ; R0_w=scalar(umax=72057594037927935,var_off=(0x0; 0xffffffffffffff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
; hdr->tid = bpf_get_current_pid_tgid() & 0xffffffff;
69: (85) call bpf_get_current_pid_tgid#14     ; R0_w=scalar() refs=4
70: (b7) r1 = 1                       ; R1_w=1 refs=4
; hdr->type = event_type;
71: (73) *(u8 *)(r6 +21) = r1         ; R1_w=1 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
72: (b7) r1 = 97                      ; R1_w=97 refs=4
73: (73) *(u8 *)(r6 +20) = r1         ; R1_w=97 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
74: (b7) r1 = 0                       ; R1_w=0 refs=4
; hdr->nparams = nparams;
75: (73) *(u8 *)(r6 +25) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
76: (73) *(u8 *)(r6 +24) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
77: (73) *(u8 *)(r6 +23) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
; hdr->tid = bpf_get_current_pid_tgid() & 0xffffffff;
78: (73) *(u8 *)(r6 +15) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
79: (73) *(u8 *)(r6 +14) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
80: (73) *(u8 *)(r6 +13) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
81: (73) *(u8 *)(r6 +12) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
; hdr->len = ringbuf->reserved_event_size;
82: (73) *(u8 *)(r6 +19) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
83: (73) *(u8 *)(r6 +18) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
84: (73) *(u8 *)(r6 +17) = r1         ; R1_w=0 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
85: (b7) r1 = 66                      ; R1_w=66 refs=4
86: (73) *(u8 *)(r6 +16) = r1         ; R1_w=66 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
; hdr->tid = bpf_get_current_pid_tgid() & 0xffffffff;
87: (bf) r1 = r0                      ; R0_w=scalar(id=7) R1_w=scalar(id=7) refs=4
88: (77) r1 >>= 24                    ; R1_w=scalar(umax=1099511627775,var_off=(0x0; 0xffffffffff)) refs=4
89: (73) *(u8 *)(r6 +11) = r1         ; R1_w=scalar(umax=1099511627775,var_off=(0x0; 0xffffffffff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
90: (bf) r1 = r0                      ; R0_w=scalar(id=7) R1_w=scalar(id=7) refs=4
91: (77) r1 >>= 16                    ; R1_w=scalar(umax=281474976710655,var_off=(0x0; 0xffffffffffff)) refs=4
92: (73) *(u8 *)(r6 +10) = r1         ; R1_w=scalar(umax=281474976710655,var_off=(0x0; 0xffffffffffff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
93: (73) *(u8 *)(r6 +8) = r0          ; R0_w=scalar(id=7) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
94: (77) r0 >>= 8                     ; R0_w=scalar(umax=72057594037927935,var_off=(0x0; 0xffffffffffffff)) refs=4
95: (73) *(u8 *)(r6 +9) = r0          ; R0_w=scalar(umax=72057594037927935,var_off=(0x0; 0xffffffffffffff)) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
96: (79) r1 = *(u64 *)(r10 -24)       ; R1_w=4 R10=fp0 refs=4
; hdr->nparams = nparams;
97: (73) *(u8 *)(r6 +22) = r1         ; R1_w=4 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
; PUSH_FIXED_SIZE_TO_RINGBUF(ringbuf, param, sizeof(s64));
98: (bf) r1 = r6                      ; R1_w=ringbuf_mem(ref_obj_id=4,off=0,imm=0) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
99: (0f) r1 += r7                     ; R1_w=ringbuf_mem(ref_obj_id=4,off=34,imm=0) R7=34 refs=4
100: (bf) r2 = r9                     ; R2_w=scalar(id=8) R9=scalar(id=8) refs=4
101: (77) r2 >>= 48                   ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) refs=4
102: (73) *(u8 *)(r1 +6) = r2         ; R1_w=ringbuf_mem(ref_obj_id=4,off=34,imm=0) R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) refs=4
103: (bf) r2 = r9                     ; R2_w=scalar(id=8) R9=scalar(id=8) refs=4
104: (77) r2 >>= 56                   ; R2_w=scalar(umax=255,var_off=(0x0; 0xff)) refs=4
105: (73) *(u8 *)(r1 +7) = r2         ; R1_w=ringbuf_mem(ref_obj_id=4,off=34,imm=0) R2_w=scalar(umax=255,var_off=(0x0; 0xff)) refs=4
106: (bf) r2 = r9                     ; R2_w=scalar(id=8) R9=scalar(id=8) refs=4
107: (77) r2 >>= 32                   ; R2_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) refs=4
108: (73) *(u8 *)(r1 +4) = r2         ; R1_w=ringbuf_mem(ref_obj_id=4,off=34,imm=0) R2_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) refs=4
109: (bf) r2 = r9                     ; R2_w=scalar(id=8) R9=scalar(id=8) refs=4
110: (77) r2 >>= 40                   ; R2_w=scalar(umax=16777215,var_off=(0x0; 0xffffff)) refs=4
111: (73) *(u8 *)(r1 +5) = r2         ; R1_w=ringbuf_mem(ref_obj_id=4,off=34,imm=0) R2_w=scalar(umax=16777215,var_off=(0x0; 0xffffff)) refs=4
112: (bf) r2 = r9                     ; R2_w=scalar(id=8) R9=scalar(id=8) refs=4
113: (77) r2 >>= 16                   ; R2_w=scalar(umax=281474976710655,var_off=(0x0; 0xffffffffffff)) refs=4
114: (73) *(u8 *)(r1 +2) = r2         ; R1_w=ringbuf_mem(ref_obj_id=4,off=34,imm=0) R2_w=scalar(umax=281474976710655,var_off=(0x0; 0xffffffffffff)) refs=4
115: (bf) r2 = r9                     ; R2_w=scalar(id=8) R9=scalar(id=8) refs=4
116: (77) r2 >>= 24                   ; R2_w=scalar(umax=1099511627775,var_off=(0x0; 0xffffffffff)) refs=4
117: (73) *(u8 *)(r1 +3) = r2         ; R1_w=ringbuf_mem(ref_obj_id=4,off=34,imm=0) R2_w=scalar(umax=1099511627775,var_off=(0x0; 0xffffffffff)) refs=4
118: (73) *(u8 *)(r1 +0) = r9         ; R1_w=ringbuf_mem(ref_obj_id=4,off=34,imm=0) R9=scalar(id=8) refs=4
119: (77) r9 >>= 8                    ; R9_w=scalar(umax=72057594037927935,var_off=(0x0; 0xffffffffffffff)) refs=4
120: (73) *(u8 *)(r1 +1) = r9         ; R1_w=ringbuf_mem(ref_obj_id=4,off=34,imm=0) R9_w=scalar(umax=72057594037927935,var_off=(0x0; 0xffffffffffffff)) refs=4
121: (b7) r1 = 8                      ; R1_w=8 refs=4
122: (6b) *(u16 *)(r6 +26) = r1       ; R1_w=8 R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
123: (18) r1 = 0x1                    ; R1_w=1 refs=4
; && (bpf_core_enum_value(enum bpf_func_id, BPF_FUNC_get_current_task_btf) == BPF_FUNC_get_current_task_btf))
125: (15) if r1 == 0x0 goto pc+5      ; R1_w=1 refs=4
126: (18) r1 = 0x9e                   ; R1=158 refs=4
; if(bpf_core_enum_value_exists(enum bpf_func_id, BPF_FUNC_get_current_task_btf)
128: (55) if r1 != 0x9e goto pc+2     ; R1=158 refs=4
; return (struct task_struct *)bpf_get_current_task_btf();
129: (85) call bpf_get_current_task_btf#158   ; R0_w=trusted_ptr_task_struct(off=0,imm=0) refs=4
130: (05) goto pc+1
; 
132: (bf) r7 = r0                     ; R0_w=trusted_ptr_task_struct(off=0,imm=0) R7_w=trusted_ptr_task_struct(off=0,imm=0) refs=4
133: (18) r1 = 0x1                    ; R1_w=1 refs=4
135: (79) r8 = *(u64 *)(r10 -32)      ; R8_w=8 R10=fp0 refs=4
136: (79) r9 = *(u64 *)(r10 -24)      ; R9_w=4 R10=fp0 refs=4
; READ_TASK_FIELD_INTO(&cap_struct, task, cred, cap_inheritable);
137: (15) if r1 == 0x0 goto pc+7      ; R1_w=1 refs=4
138: (18) r1 = 0x9e                   ; R1=158 refs=4
; READ_TASK_FIELD_INTO(&cap_struct, task, cred, cap_inheritable);
140: (55) if r1 != 0x9e goto pc+4     ; R1=158 refs=4
; READ_TASK_FIELD_INTO(&cap_struct, task, cred, cap_inheritable);
141: (79) r1 = *(u64 *)(r7 +3000)     ; R1_w=ptr_cred(off=0,imm=0) R7=trusted_ptr_task_struct(off=0,imm=0) refs=4
142: (79) r1 = *(u64 *)(r1 +40)       ; R1_w=scalar() refs=4
143: (7b) *(u64 *)(r10 -8) = r1       ; R1_w=scalar() R10=fp0 fp-8_w=mmmmmmmm refs=4
144: (05) goto pc+14
; READ_TASK_FIELD_INTO(&cap_struct, task, cred, cap_inheritable);
159: (bf) r2 = r8                     ; R2_w=8 R8=8 refs=4
160: (07) r2 += 34                    ; R2_w=42 refs=4
161: (b7) r1 = 16                     ; R1=16 refs=4
; PUSH_FIXED_SIZE_TO_RINGBUF(ringbuf, param, sizeof(u64));
162: (2d) if r1 > r9 goto pc+1        ; R1=16 R9=4 refs=4
164: (bf) r3 = r10                    ; R3_w=fp0 R10=fp0 refs=4
165: (07) r3 += -8                    ; R3_w=fp-8 refs=4
166: (bf) r1 = r6                     ; R1_w=ringbuf_mem(ref_obj_id=4,off=0,imm=0) R6=ringbuf_mem(ref_obj_id=4,off=0,imm=0) refs=4
167: (0f) r1 += r2                    ; R1_w=ringbuf_mem(ref_obj_id=4,off=42,imm=0) R2=42 refs=4
; return capabilities_to_scap(((unsigned long)cap_struct.cap[1] << 32) | cap_struct.cap[0]);
168: <invalid CO-RE relocation>
failed to resolve CO-RE relocation <byte_off> [278] typedef kernel_cap_t.cap[1] (0:0:1 @ offset 4)
processed 146 insns (limit 1000000) max_states_per_insn 0 total_states 8 peak_states 8 mark_read 5
-- END PROG LOAD LOG --
libbpf: prog 'capset_x': failed to load: -22
libbpf: failed to load object 'bpf_probe'
libbpf: failed to load BPF skeleton 'bpf_probe': -22
libpman: failed to load BPF object (errno: 22 | message: Invalid argument)
terminate called after throwing an instance of 'sinsp_exception'
  what():  
collector AbortHandler 0x58f765 + 53
/lib64/libc.so.6 (null) 0x7f7dd5d49b50 + 0
/lib64/libc.so.6 gsignal 0x7f7dd5d49acf + 271
/lib64/libc.so.6 abort 0x7f7dd5d1cea5 + 295
/lib64/libstdc++.so.6 (null) 0x7f7dd66ea09b + 0
/lib64/libstdc++.so.6 (null) 0x7f7dd66f053c + 0
/lib64/libstdc++.so.6 (null) 0x7f7dd66f0597 + 0
/lib64/libstdc++.so.6 (null) 0x7f7dd66f07f8 + 0
collector collector::KernelDriverCOREEBPF::Setup(collector::CollectorConfig const&, sinsp&) 0x603b7d + 3021
collector collector::SysdigService::InitKernel(collector::CollectorConfig const&, collector::DriverCandidate const&) 0x5fee03 + 83
collector collector::SetupKernelDriver(collector::CollectorService&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, collector::CollectorConfig const&) 0x59bfc2 + 2850
collector main 0x5842ad + 509
/lib64/libc.so.6 __libc_start_main 0x7f7dd5d35d85 + 229
collector _start 0x58af7e + 46
Caught signal 6 (SIGABRT): Aborted
/bootstrap.sh: line 94:     5 Aborted                 (core dumped) eval exec "$@"

Related to #1230. As mentioned in that issue, this commit fixes the error, tested manually on the following kernels:

  • 6.3.12-200.fc38.x86_64
  • 6.4.4-200.fc38.x86_64
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

No branches or pull requests

1 participant