chiark / gitweb /
systemd: record efi timestamps after /sys is mounted
[elogind.git] / src / core / manager.c
index 0508628b21855561c2fbf3b63e9b2017e140d43b..a7cfe570381ac5d9561497f671d7bf5d75298083 100644 (file)
@@ -70,6 +70,7 @@
 #include "cgroup-util.h"
 #include "path-util.h"
 #include "audit-fd.h"
+#include "efivars.h"
 #include "env-util.h"
 
 /* As soon as 16 units are in our GC queue, make sure to run a gc sweep */
@@ -439,6 +440,11 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
         if (!m)
                 return -ENOMEM;
 
+#ifdef ENABLE_EFI
+        if (detect_container(NULL) <= 0)
+                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;
         m->exit_code = _MANAGER_EXIT_CODE_INVALID;