Since 'cancel_path' is constructed from the 'tpmdev' argument, we can push it down into the function opening the FDs. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- src/qemu/qemu_command.c | 15 +++++++-------- src/qemu/qemu_command.h | 4 +--- tests/qemuxml2argvmock.c | 1 - 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9a51a373b0..7169b8ff90 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -9737,10 +9737,14 @@ qemuBuildTPMDevCmd(virCommand *cmd, /* this function is exported so that tests can mock the FDs */ int qemuBuildTPMOpenBackendFDs(const char *tpmdev, - const char *cancel_path, int *tpmfd, int *cancelfd) { + g_autofree char *cancel_path = NULL; + + if (!(cancel_path = virTPMCreateCancelPath(tpmdev))) + return -1; + if ((*tpmfd = open(tpmdev, O_RDWR)) < 0) { virReportSystemError(errno, _("Could not open TPM device %s"), tpmdev); @@ -9766,10 +9770,8 @@ qemuBuildTPMBackendStr(virCommand *cmd, int *cancelfd) { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - g_autofree char *cancel_path = NULL; g_autofree char *devset = NULL; g_autofree char *cancelset = NULL; - const char *tpmdev; *tpmfd = -1; *cancelfd = -1; @@ -9779,11 +9781,8 @@ qemuBuildTPMBackendStr(virCommand *cmd, switch (tpm->type) { case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH: - tpmdev = tpm->data.passthrough.source->data.file.path; - if (!(cancel_path = virTPMCreateCancelPath(tpmdev))) - return NULL; - - if (qemuBuildTPMOpenBackendFDs(tpmdev, cancel_path, tpmfd, cancelfd) < 0) + if (qemuBuildTPMOpenBackendFDs(tpm->data.passthrough.source->data.file.path, + tpmfd, cancelfd) < 0) return NULL; virCommandPassFD(cmd, *tpmfd, VIR_COMMAND_PASS_FD_CLOSE_PARENT); diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index b7fcf15a1e..d84de3f093 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -251,11 +251,9 @@ qemuBuildVsockDevProps(virDomainDef *def, /* this function is exported so that tests can mock the FDs */ int qemuBuildTPMOpenBackendFDs(const char *tpmdev, - const char *cancel_path, int *tpmfd, int *cancelfd) - ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) - ATTRIBUTE_NONNULL(4) G_GNUC_NO_INLINE; + ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) G_GNUC_NO_INLINE; const char * qemuAudioDriverTypeToString(virDomainAudioType type); virDomainAudioType qemuAudioDriverTypeFromString(const char *str); diff --git a/tests/qemuxml2argvmock.c b/tests/qemuxml2argvmock.c index f4e2f52680..08f176667d 100644 --- a/tests/qemuxml2argvmock.c +++ b/tests/qemuxml2argvmock.c @@ -263,7 +263,6 @@ qemuOpenChrChardevUNIXSocket(const virDomainChrSourceDef *dev G_GNUC_UNUSED) int qemuBuildTPMOpenBackendFDs(const char *tpmdev G_GNUC_UNUSED, - const char *cancel_path G_GNUC_UNUSED, int *tpmfd, int *cancelfd) { -- 2.34.1