Description of problem: When Branch Target Identifier (BTI) is enabled on aarch64, any software which runs libglvnd will fail with SIGILL, Illegal instruction. Version-Release number of selected component (if applicable): Fedora 36 libglvnd: 1.4.0-2 A coredump analysis reveals it's failing on this instruction "stp x1, x0 [sp, #-16]!" How reproducible: The issue manifests itself when starting GDM (or any application links to libglvnd) Jul 27 03:41:55 fedora systemd-coredump[1122]: Process 1085 (gnome-shell) of user 42 dumped core. ... Module libvulkan.so.1 with build-id 67d50cfbcd9385a604b088608e38177128818e19 Stack trace of thread 1085: #0 0x0000ffff6b6ef080 glGetIntegerv (libGLdispatch.so.0 + 0x6f080) #1 0x0000ffff6f4786f8 _cogl_context_get_gl_extensions (libmutter-cogl-10.so.0 + 0x186f8) #2 0x0000ffff6f4c4000 sysprof_capture_jitmap_iter_next (libmutter-cogl-10.so.0 + 0x64000) #3 0x0000aaab6eccdaa0 n/a (n/a + 0x0) ELF object binary architecture: AARCH64 Steps to Reproduce: 1.start GDM on a BTI-enabled aarch64 system. Additional info: This issue was diagnosed on an m2 macbook air by developer Janne Grunau https://oftc.irclog.whitequark.org/asahi/2022-07-27#; https://oftc.irclog.whitequark.org/asahi/2022-07-28 And applying this patch resolved the issue: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/262
Have you tested this patch on fedora libglvnd ? I don't know if BTI is enabled in which fedora version, but I might backport the patch for f37+ unless there is a new release upstream...
So I added that patch to my to the libglvnd SRPM in my local repo. Janne Grunau and Linus Torvalds (yes really) both confirmed that it worked. https://www.leifliddy.com/asahi-linux/36/source/SRPMS/ https://www.leifliddy.com/asahi-linux/36/aarch64/ I don't have an m2 macbook to test on so I can't personally confirm it. But I would consider both Janne and Linus to be reliable sources. The dmesg logs posted showed the following: CPU features: detected: Branch Target Identification > but I might backport the patch for f37+ unless there is a new release upstream... That would definitely work. I mean I could ask the project maintainers if they could just make a new release (that included that commit) But you would probably have more pull then I would.
FEDORA-2022-fb41fa9ea6 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2022-fb41fa9ea6
FEDORA-2022-db6c2e9180 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-db6c2e9180
FEDORA-2022-fb41fa9ea6 has been pushed to the Fedora 38 stable repository. If problem still persists, please make note of it in this bug report.
Okay backported for f36+ For some reason I cannot link the bug, so here is the bodhi update: https://bodhi.fedoraproject.org/updates/FEDORA-2022-8890cf0609 Thanks for the report and feedbacks.
FEDORA-2022-db6c2e9180 has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.