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(a)redhat.com>
---
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