Skip to content

aya error: the BPF_PROG_LOAD syscall failed #38

Description

@xantrk

Describe the bug
Can't start the service in CachyOS

To Reproduce

❯ sudo systemctl start cardwired.service
Job for cardwired.service failed because the control process exited with error code.
See "systemctl status cardwired.service" and "journalctl -xeu cardwired.service" for details.

~
❯ journalctl -xeu cardwired.service
Jun 02 11:52:37 furkan cardwired[13871]: 2: (0f) r3 += r2                      ; R2=296 R3=trusted_ptr_inode(imm=296)
Jun 02 11:52:37 furkan cardwired[13871]: 3: (bf) r1 = r10                      ; R1=fp0 R10=fp0
Jun 02 11:52:37 furkan cardwired[13871]: 4: (07) r1 += -72                     ; R1=fp-72
Jun 02 11:52:37 furkan cardwired[13871]: ; struct hlist_node *first = BPF_CORE_READ(inode, i_dentry.first); @ bpf.c:248
Jun 02 11:52:37 furkan cardwired[13871]: 5: (b4) w2 = 8                        ; R2=8
Jun 02 11:52:37 furkan cardwired[13871]: 6: (85) call bpf_probe_read_kernel#113        ; fp-72=mmmmmmmm
Jun 02 11:52:37 furkan cardwired[13871]: 7: (b4) w0 = 0                        ; R0=0
Jun 02 11:52:37 furkan cardwired[13871]: 8: (79) r6 = *(u64 *)(r10 -72)        ; R6=scalar() R10=fp0
Jun 02 11:52:37 furkan cardwired[13871]: ; if (!first) { @ bpf.c:249
Jun 02 11:52:37 furkan cardwired[13871]: 9: (15) if r6 == 0x0 goto pc+186      ; R6=scalar(umin=1)
Jun 02 11:52:37 furkan cardwired[13871]: 10: (85) call unknown#195896080
Jun 02 11:52:37 furkan cardwired[13871]: invalid func unknown#195896080
Jun 02 11:52:37 furkan cardwired[13871]: verification time 131 usec
Jun 02 11:52:37 furkan cardwired[13871]: stack depth 72
Jun 02 11:52:37 furkan cardwired[13871]: processed 11 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_state>
Jun 02 11:52:37 furkan cardwired[13871]: Caused by:
Jun 02 11:52:37 furkan cardwired[13871]:     aya error: the BPF_PROG_LOAD syscall failed. Verifier output: 0: R1=ctx() R10=>
Jun 02 11:52:37 furkan cardwired[13871]:     ; int BPF_PROG(inode_permission, struct inode *inode, int mask) @ bpf.c:241
Jun 02 11:52:37 furkan cardwired[13871]:     0: (b7) r2 = 296                      ; R2=296
Jun 02 11:52:37 furkan cardwired[13871]:     1: (79) r3 = *(u64 *)(r1 +0)
Jun 02 11:52:37 furkan cardwired[13871]:     func 'bpf_lsm_inode_permission' arg0 has btf_id 107401 type STRUCT 'inode'
Jun 02 11:52:37 furkan cardwired[13871]:     2: R1=ctx() R3=trusted_ptr_inode()
Jun 02 11:52:37 furkan cardwired[13871]:     2: (0f) r3 += r2                      ; R2=296 R3=trusted_ptr_inode(imm=296)
Jun 02 11:52:37 furkan cardwired[13871]:     3: (bf) r1 = r10                      ; R1=fp0 R10=fp0
Jun 02 11:52:37 furkan cardwired[13871]:     4: (07) r1 += -72                     ; R1=fp-72
Jun 02 11:52:37 furkan cardwired[13871]:     ; struct hlist_node *first = BPF_CORE_READ(inode, i_dentry.first); @ bpf.c:248
Jun 02 11:52:37 furkan cardwired[13871]:     5: (b4) w2 = 8                        ; R2=8
Jun 02 11:52:37 furkan cardwired[13871]:     6: (85) call bpf_probe_read_kernel#113        ; fp-72=mmmmmmmm
Jun 02 11:52:37 furkan cardwired[13871]:     7: (b4) w0 = 0                        ; R0=0
Jun 02 11:52:37 furkan cardwired[13871]:     8: (79) r6 = *(u64 *)(r10 -72)        ; R6=scalar() R10=fp0
Jun 02 11:52:37 furkan cardwired[13871]:     ; if (!first) { @ bpf.c:249
Jun 02 11:52:37 furkan cardwired[13871]:     9: (15) if r6 == 0x0 goto pc+186      ; R6=scalar(umin=1)
Jun 02 11:52:37 furkan cardwired[13871]:     10: (85) call unknown#195896080
Jun 02 11:52:37 furkan cardwired[13871]:     invalid func unknown#195896080
Jun 02 11:52:37 furkan cardwired[13871]:     verification time 131 usec
Jun 02 11:52:37 furkan cardwired[13871]:     stack depth 72
Jun 02 11:52:37 furkan cardwired[13871]:     processed 11 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_s>
Jun 02 11:52:37 furkan cardwired[13871]:
Jun 02 11:52:37 furkan systemd[1]: cardwired.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ An ExecStart= process belonging to unit cardwired.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Jun 02 11:52:37 furkan systemd[1]: cardwired.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit cardwired.service has entered the 'failed' state with result 'exit-code'.
Jun 02 11:52:37 furkan systemd[1]: Failed to start Cardwire Daemon.
░░ Subject: A start job for unit cardwired.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit cardwired.service has finished with a failure.
░░
░░ The job identifier is 19723 and the job result is failed.

Expected behavior
Service to start

Environment details

           .-------------------------:                    furkan@furkan
          .+=========================.                    -------------
         :++===++==================-       :++-           OS: CachyOS x86_64
        :*++====+++++=============-        .==:           Host: 83LU (Legion Pro 5 16IAX10H)
       -*+++=====+***++==========:                        Kernel: Linux 7.1.0-rc6-1-cachyos-rc
      =*++++========------------:                         Uptime: 9 mins
     =*+++++=====-                     ...                Packages: 11 (flatpak), 1686 (pacman)
   .+*+++++=-===:                    .=+++=:              Shell: fish 4.7.1
  :++++=====-==:                     -*****+              Display (SDC420A): 2560x1600 @ 1.5x in 16", 165 Hz [Built-in]
 :++========-=.                      .=+**+.              Display (XWU-CBA): 2560x1440 in 27", 165 Hz [External]
.+==========-.                          .                 WM: niri 26.04 (Wayland)
 :+++++++====-                                .--==-.     Theme: Breeze-Dark [GTK2], Breeze [GTK3]
  :++==========.                             :+++++++:    Icons: breeze [GTK2/3/4]
   .-===========.                            =*****+*+    Font: Arial (10pt) [GTK2/3/4]
    .-===========:                           .+*****+:    Cursor: breeze (24px)
      -=======++++:::::::::::::::::::::::::-:  .---:      Terminal: kitty 0.47.1
       :======++++====+++******************=.             Terminal Font: NotoSansMono-Regular (12pt)
        :=====+++==========++++++++++++++*-               CPU: Intel(R) Core(TM) Ultra 9 275HX (24) @ 5.50 GHz
         .====++==============++++++++++*-                GPU 1: NVIDIA GeForce RTX 5070 Ti Mobile [Discrete]
          .===+==================+++++++:                 GPU 2: Intel Graphics @ 1.90 GHz [Integrated]
           .-=======================+++:                  Memory: 4.58 GiB / 30.77 GiB (15%)
             ..........................                   Swap: 0 B / 30.77 GiB (0%)
                                                          Disk (/): 79.72 GiB / 102.54 GiB (78%) - btrfs
                                                          Disk (/mnt/data): 963.10 GiB / 1.43 TiB (66%) - ntfs
                                                          Locale: en_GB.UTF-8

Cardwire version (cardwire --version):
cardwire --version
cardwire-cli 0.8.0

cardwire list output
Please paste the text output (do not use a screenshot):

The name is not activatable

ls -la /dev/dri/by-path/

drwxr-xr-x - root  2 Jun 11:44  .
drwxr-xr-x - root  2 Jun 11:44  ..
lrwxrwxrwx - root  2 Jun 11:44pci-0000:00:02.0-card -> ../card2
lrwxrwxrwx - root  2 Jun 11:44pci-0000:00:02.0-render -> ../renderD129
lrwxrwxrwx - root  2 Jun 11:44pci-0000:02:00.0-card -> ../card1
lrwxrwxrwx - root  2 Jun 11:44pci-0000:02:00.0-render -> ../renderD128

cardwired logs
Please provide the daemon logs (e.g., run journalctl -eu cardwired.service --no-pager):

Jun 02 11:54:37 furkan systemd[1]: Failed to start Cardwire Daemon.
Jun 02 11:54:42 furkan systemd[1]: cardwired.service: Scheduled restart job, restart counter is at 120.
Jun 02 11:54:42 furkan systemd[1]: Starting Cardwire Daemon...
Jun 02 11:54:42 furkan cardwired[18210]: [INFO ] IOMMU not detected, reading pci devices using sysfs dir
Jun 02 11:54:42 furkan cardwired[18210]: [INFO ] Successfully read renderD129 from sysfs for 0000:00:02.0
Jun 02 11:54:42 furkan cardwired[18210]: [INFO ] Successfully read card2 from sysfs for 0000:00:02.0
Jun 02 11:54:42 furkan cardwired[18210]: [INFO ] Successfully read renderD128 from sysfs for 0000:02:00.0
Jun 02 11:54:42 furkan cardwired[18210]: [INFO ] Successfully read card1 from sysfs for 0000:02:00.0
Jun 02 11:54:42 furkan cardwired[18210]: [INFO ] gpu Arrow Lake-S [Intel Graphics] id: 0 internal: 1, desktop: 2, connected: 2, total: 3, connected_internal: 1, connected_desktop: 1
Jun 02 11:54:42 furkan cardwired[18210]: [INFO ] gpu GB205M [GeForce RTX 5070 Ti Mobile] id: 1 internal: 1, desktop: 2, connected: 0, total: 3, connected_internal: 0, connected_desktop: 0
Jun 02 11:54:42 furkan cardwired[18210]: Error: ebpf error: aya error: the BPF_PROG_LOAD syscall failed. Verifier output: 0: R1=ctx() R10=fp0
Jun 02 11:54:42 furkan cardwired[18210]: ; int BPF_PROG(inode_permission, struct inode *inode, int mask) @ bpf.c:241
Jun 02 11:54:42 furkan cardwired[18210]: 0: (b7) r2 = 296                      ; R2=296
Jun 02 11:54:42 furkan cardwired[18210]: 1: (79) r3 = *(u64 *)(r1 +0)
Jun 02 11:54:42 furkan cardwired[18210]: func 'bpf_lsm_inode_permission' arg0 has btf_id 107401 type STRUCT 'inode'
Jun 02 11:54:42 furkan cardwired[18210]: 2: R1=ctx() R3=trusted_ptr_inode()
Jun 02 11:54:42 furkan cardwired[18210]: 2: (0f) r3 += r2                      ; R2=296 R3=trusted_ptr_inode(imm=296)
Jun 02 11:54:42 furkan cardwired[18210]: 3: (bf) r1 = r10                      ; R1=fp0 R10=fp0
Jun 02 11:54:42 furkan cardwired[18210]: 4: (07) r1 += -72                     ; R1=fp-72
Jun 02 11:54:42 furkan cardwired[18210]: ; struct hlist_node *first = BPF_CORE_READ(inode, i_dentry.first); @ bpf.c:248
Jun 02 11:54:42 furkan cardwired[18210]: 5: (b4) w2 = 8                        ; R2=8
Jun 02 11:54:42 furkan cardwired[18210]: 6: (85) call bpf_probe_read_kernel#113        ; fp-72=mmmmmmmm
Jun 02 11:54:42 furkan cardwired[18210]: 7: (b4) w0 = 0                        ; R0=0
Jun 02 11:54:42 furkan cardwired[18210]: 8: (79) r6 = *(u64 *)(r10 -72)        ; R6=scalar() R10=fp0
Jun 02 11:54:42 furkan cardwired[18210]: ; if (!first) { @ bpf.c:249
Jun 02 11:54:42 furkan cardwired[18210]: 9: (15) if r6 == 0x0 goto pc+186      ; R6=scalar(umin=1)
Jun 02 11:54:42 furkan cardwired[18210]: 10: (85) call unknown#195896080
Jun 02 11:54:42 furkan cardwired[18210]: invalid func unknown#195896080
Jun 02 11:54:42 furkan cardwired[18210]: verification time 134 usec
Jun 02 11:54:42 furkan cardwired[18210]: stack depth 72
Jun 02 11:54:42 furkan cardwired[18210]: processed 11 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
Jun 02 11:54:42 furkan cardwired[18210]: Caused by:
Jun 02 11:54:42 furkan cardwired[18210]:     aya error: the BPF_PROG_LOAD syscall failed. Verifier output: 0: R1=ctx() R10=fp0
Jun 02 11:54:42 furkan cardwired[18210]:     ; int BPF_PROG(inode_permission, struct inode *inode, int mask) @ bpf.c:241
Jun 02 11:54:42 furkan cardwired[18210]:     0: (b7) r2 = 296                      ; R2=296
Jun 02 11:54:42 furkan cardwired[18210]:     1: (79) r3 = *(u64 *)(r1 +0)
Jun 02 11:54:42 furkan cardwired[18210]:     func 'bpf_lsm_inode_permission' arg0 has btf_id 107401 type STRUCT 'inode'
Jun 02 11:54:42 furkan cardwired[18210]:     2: R1=ctx() R3=trusted_ptr_inode()
Jun 02 11:54:42 furkan cardwired[18210]:     2: (0f) r3 += r2                      ; R2=296 R3=trusted_ptr_inode(imm=296)
Jun 02 11:54:42 furkan cardwired[18210]:     3: (bf) r1 = r10                      ; R1=fp0 R10=fp0
Jun 02 11:54:42 furkan cardwired[18210]:     4: (07) r1 += -72                     ; R1=fp-72
Jun 02 11:54:42 furkan cardwired[18210]:     ; struct hlist_node *first = BPF_CORE_READ(inode, i_dentry.first); @ bpf.c:248
Jun 02 11:54:42 furkan cardwired[18210]:     5: (b4) w2 = 8                        ; R2=8
Jun 02 11:54:42 furkan cardwired[18210]:     6: (85) call bpf_probe_read_kernel#113        ; fp-72=mmmmmmmm
Jun 02 11:54:42 furkan cardwired[18210]:     7: (b4) w0 = 0                        ; R0=0
Jun 02 11:54:42 furkan cardwired[18210]:     8: (79) r6 = *(u64 *)(r10 -72)        ; R6=scalar() R10=fp0
Jun 02 11:54:42 furkan cardwired[18210]:     ; if (!first) { @ bpf.c:249
Jun 02 11:54:42 furkan cardwired[18210]:     9: (15) if r6 == 0x0 goto pc+186      ; R6=scalar(umin=1)
Jun 02 11:54:42 furkan cardwired[18210]:     10: (85) call unknown#195896080
Jun 02 11:54:42 furkan cardwired[18210]:     invalid func unknown#195896080
Jun 02 11:54:42 furkan cardwired[18210]:     verification time 134 usec
Jun 02 11:54:42 furkan cardwired[18210]:     stack depth 72
Jun 02 11:54:42 furkan cardwired[18210]:     processed 11 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
Jun 02 11:54:42 furkan cardwired[18210]:
Jun 02 11:54:42 furkan systemd[1]: cardwired.service: Main process exited, code=exited, status=1/FAILURE
Jun 02 11:54:42 furkan systemd[1]: cardwired.service: Failed with result 'exit-code'.
Jun 02 11:54:42 furkan systemd[1]: Failed to start Cardwire Daemon.

Additional context
zcat /proc/config.gz | grep CONFIG_BPF_LSM
CONFIG_BPF_LSM=y

~
❯ uname -r
7.1.0-rc6-1-cachyos-rc

~
❯ cat /proc/cmdline
BOOT_IMAGE=/@/boot/vmlinuz-linux-cachyos-rc root=UUID=5c70c878-0e55-43fe-b084-eb0c3886b44c rw rootflags=subvol=@ quiet nowatchdog nvme_load=YES splash loglevel=3 rcutree.enable_rcu_lazy=1 supergfxd.mode=Hybrid lsm=bpf

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions