Re: [PATCH] qemusecuritytest: Call real virFileExists in mock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/9/24 2:41 AM, Michal Privoznik wrote:
When I suggested to Jim to call real virFileExists() I forgot to
also suggest calling init_syms(). Without it, real_virFileExists
pointer might be left unset. And indeed, that's what we were
seeing on FreeBSD.

This effectively reverts commit 4b5cc57ed35dc24d11673dd3f04bfb8073c0340d. >
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>

Thanks for fixing the mess from my small patch :-). I was deep in another task when I noticed the build failure, but that's a poor excuse for not properly investigating it and pushing a hurried fix.

Reviewed-by: Jim Fehlig <jfehlig@xxxxxxxx>

Regards,
Jim

---

Green pipeline:

https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/1245457856

Okay, it doesn't test FreeBSD, but it tests x86_64-ubuntu-2204-clang
which was also experiencing the failure:

https://gitlab.com/libvirt/libvirt/-/jobs/6574951734

  tests/qemusecuritymock.c | 9 +++++++--
  1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tests/qemusecuritymock.c b/tests/qemusecuritymock.c
index dc8a893e9d..2dfd6c33a0 100644
--- a/tests/qemusecuritymock.c
+++ b/tests/qemusecuritymock.c
@@ -66,6 +66,7 @@ static int (*real_close)(int fd);
  static int (*real_setfilecon_raw)(const char *path, const char *context);
  static int (*real_getfilecon_raw)(const char *path, char **context);
  #endif
+static bool (*real_virFileExists)(const char *file);
/* Global mutex to avoid races */
@@ -123,6 +124,7 @@ init_syms(void)
      VIR_MOCK_REAL_INIT(setfilecon_raw);
      VIR_MOCK_REAL_INIT(getfilecon_raw);
  #endif
+    VIR_MOCK_REAL_INIT(virFileExists);
/* Intentionally not calling init_hash() here */
  }
@@ -386,8 +388,11 @@ bool virFileExists(const char *path)
  {
      VIR_LOCK_GUARD lock = virLockGuardLock(&m);
- if (getenv(ENVVAR) == NULL)
-        return access(path, F_OK) == 0;
+    if (getenv(ENVVAR) == NULL) {
+        init_syms();
+
+        return real_virFileExists(path);
+    }
init_hash();
      if (virHashHasEntry(chown_paths, path))
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux