From: Stefan Berger Date: Fri, 26 Jul 2019 21:07:06 +0000 (-0400) Subject: tpm: Create empty log file if file was removed X-Git-Tag: v5.6.0-rc1~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e1ff8a95c6e15895e17faa2313c02fee605260e9;p=thirdparty%2Flibvirt.git tpm: Create empty log file if file was removed Create an empty log file if the log file was removed, otherwise the transaction to set the security labels on the file will fail. Signed-off-by: Stefan Berger Reviewed-by: Daniel P. Berrangé Message-Id: <20190726210706.24440-3-stefanb@linux.ibm.com> --- diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c index 7efd635831..77ef601f74 100644 --- a/src/qemu/qemu_tpm.c +++ b/src/qemu/qemu_tpm.c @@ -340,9 +340,13 @@ qemuTPMEmulatorPrepareHost(virDomainTPMDefPtr tpm, logDir, vmname) < 0) goto cleanup; + if (!virFileExists(tpm->data.emulator.logfile) && + virFileTouch(tpm->data.emulator.logfile, 0644) < 0) { + goto cleanup; + } + /* ... and make sure it can be accessed by swtpm_user */ - if (virFileExists(tpm->data.emulator.logfile) && - chown(tpm->data.emulator.logfile, swtpm_user, swtpm_group) < 0) { + if (chown(tpm->data.emulator.logfile, swtpm_user, swtpm_group) < 0) { virReportSystemError(errno, _("Could not chown on swtpm logfile %s"), tpm->data.emulator.logfile);