I ungraded my Leap 15.6 to Slowroll, not without issues but essentially I am there. However when I tried to install SELinux I ran into problems which are well beyond my paygrade! This is what I have:-
Slowroll on Btrfs, enabling SELinux in permissive after migration.
System boots and logs in, but AVCs show many accesses to unlabeled_t.
Investigation shows:
- /usr is correctly labeled usr_t
- /usr/lib64 is correctly labeled lib_t
- the mounted Btrfs root subvolume @ itself has security.selinux=unlabeled_t
- machine is usable on Plasma X11
Question: what is the correct openSUSE-supported way to relabel the Btrfs root subvolume object itself, without reinstalling?
alastair@ibmserv2:~> sudo getenforce
[sudo] password for alastair:
Permissive
alastair@ibmserv2:~>
alastair@ibmserv2:~>
alastair@ibmserv2:~> sudo ausearch -m AVC -ts boot | head -40
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.390:535): avc: denied { read } for pid=1077 comm="dbus-broker-lau" name="lib64" dev="nvme0n1p1" ino=3100382 scontext=system_u:system_r:system_dbusd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unlabeled_t:s0 tclass=lnk_file permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.727:554): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.727:555): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.727:556): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.727:557): avc: denied { read } for pid=1132 comm="mcelog" name="lib64" dev="nvme0n1p1" ino=3100382 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=lnk_file permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.727:558): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.727:559): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.727:560): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.727:561): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.729:562): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.729:563): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.729:564): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
time->Tue Mar 31 16:31:36 2026
type=AVC msg=audit(1774971096.729:565): avc: denied { search } for pid=1132 comm="mcelog" name="@" dev="nvme0n1p1" ino=256 scontext=system_u:system_r:mcelog_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=1
----
alastair@ibmserv2:~>
alastair@ibmserv2:~> sudo getfattr -n security.selinux -e text /mnt/btrfs-top/@ /mnt/btrfs-top/@/usr 2>/dev/null
[sudo] password for alastair:
# file: mnt/btrfs-top/@
security.selinux="system_u:object_r:unlabeled_t:s0"
# file: mnt/btrfs-top/@/usr
security.selinux="system_u:object_r:usr_t:s0"
alastair@ibmserv2:~> sudo matchpathcon / /usr /usr/lib64 /etc/selinux
/ system_u:object_r:root_t:s0
/usr system_u:object_r:usr_t:s0
/usr/lib64 system_u:object_r:lib_t:s0
/etc/selinux system_u:object_r:selinux_config_t:s0
alastair@ibmserv2:~>
Grateful for any guidance please.