diff options
-rw-r--r-- | src/core/manager.c | 6 | ||||
-rw-r--r-- | src/shared/virt.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/core/manager.c b/src/core/manager.c index f8d097e368..1ee6a8ed53 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -441,10 +441,12 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) { return -ENOMEM; dual_timestamp_get(&m->userspace_timestamp); - dual_timestamp_from_monotonic(&m->kernel_timestamp, 0); + if (detect_container(NULL) <= 0) { + dual_timestamp_from_monotonic(&m->kernel_timestamp, 0); #ifdef ENABLE_EFI - efi_get_boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp); + efi_get_boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp); #endif + } m->running_as = running_as; m->name_data_slot = m->conn_data_slot = m->subscribed_data_slot = -1; diff --git a/src/shared/virt.c b/src/shared/virt.c index fddb45d6e8..7b18e58c16 100644 --- a/src/shared/virt.c +++ b/src/shared/virt.c @@ -168,7 +168,7 @@ int detect_vm(const char **id) { } int detect_container(const char **id) { - char *e = NULL; + char _cleanup_free_ *e = NULL; int r; /* Unfortunately many of these operations require root access @@ -216,8 +216,6 @@ int detect_container(const char **id) { *id = "other"; } - free(e); - return r; } |