Description of problem: Either the files are labeled correctly and the restorecon command messes them up, or the files are labeled incorrectly and the restorecon command makes them correct. # sesearch -s systemd_gpt_generator_t -t systemd_unit_file_t -c file -T type_transition systemd_gpt_generator_t systemd_unit_file_t:file systemd_gpt_generator_unit_file_t; # semanage fcontext -l | grep /generator /usr/lib/systemd/generator/lvm.* all files system_u:object_r:lvm_unit_file_t:s0 /run/systemd/generator = /usr/lib/systemd/system /run/systemd/generator.late = /usr/lib/systemd/system # matchpathcon /run/systemd/generator /run/systemd/generator system_u:object_r:systemd_unit_file_t:s0 # matchpathcon /run/systemd/generator.early /run/systemd/generator.early system_u:object_r:init_var_run_t:s0 # matchpathcon /run/systemd/generator.late /run/systemd/generator.late system_u:object_r:systemd_unit_file_t:s0 # Version-Release number of selected component (if applicable): selinux-policy-38.1.14-1.el9.noarch selinux-policy-targeted-38.1.14-1.el9.noarch How reproducible: * some of our automated tests find the issue, but I don't know the exact cause Steps to Reproduce: # restorecon -Rv /run Actual results: Relabeled /run/systemd/generator.late/efi.automount from system_u:object_r:systemd_gpt_generator_unit_file_t:s0 to system_u:object_r:systemd_unit_file_t:s0 Relabeled /run/systemd/generator.late/efi.mount from system_u:object_r:systemd_gpt_generator_unit_file_t:s0 to system_u:object_r:systemd_unit_file_t:s0 Expected results: * output of the restorecon command is empty, because the files are already labeled correctly
Firstly, one entry is missing: # semanage fcontext -l | grep generator.*= /run/systemd/generator = /usr/lib/systemd/system /run/systemd/generator.late = /usr/lib/systemd/system # matchpathcon /run/systemd/generator.early /run/systemd/generator.early system_u:object_r:init_var_run_t:s0 Secondly, fc entries do not back existing transitions: # sesearch -s systemd_gpt_generator_t -t systemd_unit_file_t -c file -T type_transition systemd_gpt_generator_t systemd_unit_file_t:file systemd_gpt_generator_unit_file_t; # semanage fcontext -l | grep /run/systemd/generator /run/systemd/generator = /usr/lib/systemd/system /run/systemd/generator.late = /usr/lib/systemd/system We probably need to change the unnamed transition to named one.
dist-git commit to backport: commit 1ade1aa864681105ea81e6ec4a600acf47e72516 Author: Zdenek Pytela <zpytela> Date: Thu Jul 13 21:41:25 2023 +0200 Define equivalency for /run/systemd/generator.early