Bug 2224410

Summary: /usr/lib64/ceph/libceph-common.so.2: rebuild shared object with SHSTK support enabled
Product: Red Hat Enterprise Linux 9 Reporter: Juro Bystricky <juro.bystricky>
Component: cephAssignee: Boris Ranto <branto>
Status: NEW --- QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: CentOS StreamCC: bstinson, jwboyer
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Juro Bystricky 2023-07-20 17:24:05 UTC
Description of problem:
We anticipate CET support being merged into upstream Linux kernel in the near future:
https://www.phoronix.com/news/Linux-6.4-Shadow-Stack-Coming

While testing CentOS Stream 9 with custom kernel and glibc, both with shadow stack enabled, we were not able to start libvirtd service.


Version-Release number of selected component (if applicable):
The library that needs to be rebuilt with shadow stack enabled is provided by the package librados2:

$ dnf provides /usr/lib64/ceph/libceph-common.so.2
librados2-2:16.2.4-5.el9.x86_64 : RADOS distributed object store client library
Repo        : @System
Matched from:
Filename    : /usr/lib64/ceph/libceph-common.so.2


How reproducible:
100%

Steps to Reproduce:
1. Boot CS9 with Linux kernel + glibc with CET enabled
2. $ sudo systemctl start libvirtd
3. $ sudo systemctl status libvirtd
3. $ sudo journalctl -ef

libvirtd[42601]: internal error: Failed to load module '/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so': /usr/lib64/ceph/libceph-common.so.2: rebuild shared object with SHSTK support enabled
Jul 20 12:30:14 gnr-bkc systemd[1]: libvirtd.service: Main process exited, code=exited, status=3/NOTIMPLEMENTED


Actual results:
libvirtd fails to run

Expected results:
libvirtd running