summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/manager.c6
-rw-r--r--src/shared/virt.c4
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;
}