1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-20 07:59:00 +00:00
Jim Fehlig 4ed5ade753 security: Ensure file exists before attempting to restore label
When performing an install, it's common for tooling such as virt-install
to remove the install kernel/initrd once they are successfully booted and
the domain has been redefined to boot without them. After the installation
is complete and the domain is rebooted/shutdown, the DAC and selinux
security drivers attempt to restore labels on the now deleted files. It's
harmles wrt functionality, but results in error messages such as

Mar 08 12:40:37 virtqemud[5639]: internal error: child reported (status=125): unable to stat: /var/lib/libvirt/boot/vir>
Mar 08 12:40:37 virtqemud[5639]: unable to stat: /var/lib/libvirt/boot/virtinst-yvp19moo-linux: No such file or directo>
Mar 08 12:40:37 virtqemud[5639]: Unable to run security manager transaction

Add a check for file existence to the virSecurity*RestoreFileLabel functions,
and avoid relabeling if the file is no longer available. Skipping the restore
caused failures in qemusecuritytest, which mocks stat, chown, etc as part of
ensuring the security drivers properly restore labels. virFileExists is now
mocked in qemusecuritymock.c to return true when passed a file previously
seen by the mocked stat, chown, etc functions.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2024-04-08 10:38:25 -06:00
..
2024-02-20 17:29:27 +01:00
2023-04-06 12:48:22 +02:00
2023-12-14 17:10:22 +01:00
2024-03-12 17:37:51 +01:00
2024-03-12 17:37:51 +01:00
2024-03-21 14:42:27 +01:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2024-03-14 15:17:48 +01:00
2022-06-16 06:43:58 +02:00
2024-03-21 14:42:20 +01:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2023-12-14 17:10:22 +01:00
2023-04-06 12:48:22 +02:00
2023-03-13 13:29:07 +01:00
2024-03-14 15:17:48 +01:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2024-03-14 15:17:48 +01:00
2023-04-04 10:52:15 +02:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2024-03-14 15:17:48 +01:00
2022-06-16 06:43:58 +02:00
2023-03-13 13:29:07 +01:00
2024-03-14 15:17:48 +01:00
2024-02-19 10:29:24 +01:00
2024-03-14 15:17:48 +01:00
2022-06-16 06:43:58 +02:00
2024-03-14 15:17:48 +01:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00
2022-06-16 06:43:58 +02:00